java垃圾收集
Java中GC主要区域是堆,而堆分为新生代(young generation)和老年代(tenured generation)。其中新生代包括,Eden space,from Survivor,to Survior。新生代使用标记复制算法,因为对象存活的时间比较短,使用标记复制算法的回收效率更快。老年代使用标记整理算法。
对象优先在Eden分配,大对象直接进入老年代。每一次Minor GC都会,检测的目标区域是 Eden+2个survivor。在Eden space中出生,经受住第一次minor GC后仍然存活,移动到survior区域,将该对象年龄计数器设置为1。在survivor区中每熬过一次minor GC后,对象年龄加1。当对象年龄达到15时,就会晋升到老年代中。