系列七、GC垃圾回收【四大垃圾算法-标记压缩算法】

一、原理

系列七、GC垃圾回收【四大垃圾算法-标记压缩算法】_第1张图片

        在整理压缩阶段,不再对标记的对象回收,而是通过所有存活对象都向一端移动。可以看到,标记的存活对象将会被整理,按照内存地址依次排列。如此一来,当我们需要给新对象分配内存时,JVM只需要持有一个内存的起始地址即可,这比维护一个空闲列表显然少了许多开销。

        标记整理算法不仅可以弥补标记清除算法中,内存区域分散的缺点,也消除了复制算法当中,内存减半的高额代价。

二、劣势

        标记整理算法唯一的缺点就是效率不高,不仅要标记所有存活的对象,还要整理所有存活对象的引用地址。从效率上来说,标记整理算法的效率要低于复制算法。

你可能感兴趣的:(GC系列,GC)