垃圾回收之回收算法

标记清除算法Mark Sweep

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

复制算法 Copying

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

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

标记整理算法 Mark Conpact

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

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

分代收集算法

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

猜你喜欢

转载自blog.csdn.net/weixin_37311400/article/details/87302409