垃圾回收之回收算法

标记清除算法Mark Sweep

标记和清除两个阶段的效率都很低;会导致空间碎片的产生,进而导致需要分配大对象时没有连续的一整块空间,进而导致提前触发

垃圾回收之回收算法_第1张图片

复制算法 Copying

使用Eden和 From Survivor来分配对象,GC是将判定存活的对象复制到To Survivor中然后直接清除整个Eden 和Survivor区域

适用于新生代,因为大多数对象都是朝生夕死的,需要复制的对象并不多,复制开销小

垃圾回收之回收算法_第2张图片

标记整理算法 Mark Conpact

存货的对象移动至一段,然后直接回收端边界之外的空间

适用于老年代,因为对象存活几率较高,采用复制的话开销大

垃圾回收之回收算法_第3张图片

分代收集算法

不是啥新鲜事,将堆分为新生代和老年带,新生代采用复制算法老年代采用标记整理算法

 

你可能感兴趣的:(Java的学习)