标记清除算法Mark Sweep
标记和清除两个阶段的效率都很低;会导致空间碎片的产生,进而导致需要分配大对象时没有连续的一整块空间,进而导致提前触发
复制算法 Copying
使用Eden和 From Survivor来分配对象,GC是将判定存活的对象复制到To Survivor中然后直接清除整个Eden 和Survivor区域
适用于新生代,因为大多数对象都是朝生夕死的,需要复制的对象并不多,复制开销小
标记整理算法 Mark Conpact
存货的对象移动至一段,然后直接回收端边界之外的空间
适用于老年代,因为对象存活几率较高,采用复制的话开销大
分代收集算法
不是啥新鲜事,将堆分为新生代和老年带,新生代采用复制算法老年代采用标记整理算法