内容: 1.分代GC在新生代的算法 2.分代GC在年老代的算法 一、分代GC在新生代的算法 JVM对内存Heap的不同区域采用不同的算法。主要是新生代和年老代,新生代比较适合复制算法,新生代有Eden/From/To,采用复制算法,速度非常快。Eden中存活的对象会被复制到To区域。 二、分代GC在年老代的算法 老年代的对象的生命周期比较长,不适合复制算法,在老年代中一般采用标记/整理(压缩)算法。首先标记出老年代中的垃圾对象,然后将存活对象移动到一个连续的区域。Full GC将没有用的垃圾对象清除,存活的对象是一块连续的空间。垃圾对象也有一个具体的地址,为下一次对象分配的指针,将新对象分配到空闲的位置。
|