May 21, 2013

你应该更新的Java知识之常用程序库

在很多人眼中,Java已经是一门垂垂老矣的语言,但并不妨碍Java世界依然在前进。如果你曾离开Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老Java中的新东西。

Guava

一句话,只要你做Java项目,就应该用Guava。

guava是Google出品的一套Java核心库,在我看来,它甚至应该是JDK的一部分。作为一个Java程序员,如果你没抱怨过JDK的设计,只能说明一点,你写得程序还是太少。正是JDK设计不彰,才有了一些项目来补充JDK的不足。如果说老Java程序员应该听说过Apache Commons Lang,那新Java程序员该知道的就是Gua......

October 24, 2012

Java虚拟机的JVM垃圾回收机制

一、JVM内存空间

/assets/images/2012/10/jvm-1.jpg

1.JVM堆(Heap)

JVM堆(Heap)= 新生代(Young) + 旧生代(Tenured)

分区作用:

新创建的对象通常先将其分配在新生代中,在新生代中经过若干次GC之后仍未释放的对象,再将它移动到旧生代。为了让内存回收更高效(GC会暂停JVM中的应用),Sun JDK在1.2开始对堆采用了分代管理的方式。在分配对象遇到内存不足时,先对新生代进行GC(Young GC);当新生代GC......

March 25, 2012

如何书写高质量的Java源代码

/assets/images/2012/03/high_quality.jpg

错误码:WMI_WRONG_MAP_ITERATOR

实例:

for(String key : blackItemsMap.keySet()) {

List<BlockListDO> item = blackItemsMap.get(key);

if (null == item || item.isEmpty())

continue;

else ....

}

解读:遍历Map时使......