Java 监控工具

* jcmd 打印Java进程所涉及的基本类,线程和vm信息。 * 查看jvm运行的时长 jcmd process_id VM.uptime jcmd 42392 VM.

Java 多线程

> Java的重要功能之一就是内部支持多线程-在一个程序中允许同时运行多个任务。 线程的概念 > 线程是指一个任务从头到尾的执行流程。 一个Java程序中可以并发的启动多个线程,这些线程可以在多个处理器上同时运行。 多线程可以使程序反应更快,交互性更强,执行效率更高,即使再单核处理器的系统上,多线程程序的运行速度也比单线程速度更快。 在单处理器系统中,多个线程共享CPU时间,

面向切面编程

> AOP 被认为是对 OOP 的一个强大的补充,有了 AOP,我们可以把之前分散在应用各处的行为放在可重用的模块中,可以有效减少冗余代码,并让我们的类只关注自身的主要功能。 AOP 概述 面向切面编程(

几道Java面试题

数据库编码和服务端代码编码一致情况下,Get请求可能产生乱码的原因及解决办法? * 检查中间键tomcat、jetty对get请求的解码格式,默认是iso-8859-1的话,可能会产生乱码,解决办法修改中间键配置文件中URIEncoding解码格式。 Struts2和SpringMVC的区别? * Struts2入口是Filter,SpringMVC是Servlet * Spring MVC是基于方法的设计,

Spring项目数据库密码加密

> 很多的软件项目都会把数据库的连接信息明文写在properties配置文件里,只要打开了配置文件,就能直接看到数据库的用户名密码等信息,一些项目会要求不能出现明文密码,接下来,简单三步,实现配置文件里的用户名和密码加密。 一、加密解密工具类 我以Base64为例,写个简单的加密和解密工具 package

使用枚举替换常量类

> 项目中必然会用到常量,我接触过的一些老旧项目,基本都是用常量类或接口类来定义常量。Java1.5以后,JDK中引入了枚举类,清晰又简单。 先说说为啥要替换吧。 首先,枚举常量更简单 第二,枚举有内置方法