Bootstrap

JVM垃圾回收标记清除算法到底是标记活动对象还是垃圾对象?!

最近在回顾jvm的垃圾回收算法。一共有四种:

  1. 标记清除算法
  2. 复制算法
  3. 标记整理算法
  4. 分代回收算法

这里重点关注下标记清除算法,看到更多的人说该算法标记的是需要被清除的对象即垃圾对象,也有少部分说标记的是活动对象。为了搞清楚标记的到底是垃圾对象还是活动对象,我翻了翻官方文档(官网地址:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/cms.html)看到它有几个标记阶段,但标记的是活动对象。如下图红框所示:

所以,标记清除算法标记的是活动对象!!!!
;