深入java虚拟机 - 垃圾收集 - 按代收集的收集器

主要看《深入java虚拟机第二版》这本书。 

下面转自http://www.cnblogs.com/gw811/archive/2012/10/19/2730258.html


当前商业虚拟机的垃圾收集都采用“分代收集”(Generational Collection)算法,这种算法并没有什么新的思想,只是根据对象的存活周期的不同将内存划分为几块。一般是把Java堆分为新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。在新生代中,每次垃圾收集时都发现有大批对象死去,只有少量存活,那就选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集。而老年代中因为对象存活率高、没有额外空间对它进行分配担保,就必须使用“标记-清理”或“标记-整理”算法来进行回收。

你可能感兴趣的:(深入java虚拟机 - 垃圾收集 - 按代收集的收集器)