深入理解Java虚拟机——标记-清除(Mark-Sweep)算法
目录
一、标记-清除(Mark-Sweep)算法的概述二、标记-清除(Mark-Sweep)算法的缺点2.1、效率问题2.2、空间问题
三、标记-清除(Mark-Sweep)算法执行过程
一、标记-清除(Mark-Sweep)算法的概述
标记-清除(Mark-Sweep)算法,如同它的名字一样,算法分为“标记”和“清除”两个阶段。首先,标记出所有需要回收的对象,然后,在标记完成后统一回收所有被标记的对象。
二、标记-清除(Mark-Sweep)算法的缺点
2.1、效率问题
标记和清除两个过程的效率都不高。
2.2、空间问题
标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需要分配较大对象时,无法找到足够的连续内存而不得不提前触发另一次垃圾收集动作。
三、标记-清除(Mark-Sweep)算法执行过程
共有 0 条评论