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