深入理解Java虚拟机——标记-清除(Mark-Sweep)算法

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解Java虚拟机——标记-清除(Mark-Sweep)算法相关的知识,希望对你有一定的参考价值。

目录

一、标记-清除(Mark-Sweep)算法的概述

  • 标记-清除(Mark-Sweep)算法,如同它的名字一样,算法分为“标记”和“清除”两个阶段。
  • 首先,标记出所有需要回收的对象,然后,在标记完成后统一回收所有被标记的对象。

二、标记-清除(Mark-Sweep)算法的缺点

2.1、效率问题

  • 标记和清除两个过程的效率都不高。

2.2、空间问题

  • 标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需要分配较大对象时,无法找到足够的连续内存而不得不提前触发另一次垃圾收集动作。

三、标记-清除(Mark-Sweep)算法执行过程

以上是关于深入理解Java虚拟机——标记-清除(Mark-Sweep)算法的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Java虚拟机--垃圾收集及故障诊断

深入理解Java虚拟机--垃圾收集及故障诊断

深入理解Java虚拟机--垃圾收集及故障诊断

《深入理解JAVA虚拟机》JDK的垃圾收集算法

《深入理解Java虚拟机》笔记02 -- 垃圾收集算法

jvm,深入理解java虚拟机,垃圾收集算法与垃圾收集器