当前位置: 首页 > 图灵资讯 > java面试题> JVM高频面试题-CMS收集器的垃圾收集过程

JVM高频面试题-CMS收集器的垃圾收集过程

来源:图灵教育
时间:2023-11-11 09:17:29
 

能详细说一下CMS收集器的垃圾收集过程吗?

 

CMS收集齐的垃圾收集分为四步:

  • 初始标记(CMS initial mark):单线程运行,需要Stop The World,标记GC Roots能直达的对象。
  • 并发标记((CMS concurrent mark):无停顿,和用户线程同时运行,从GC Roots直达对象开始遍历整个对象图。
  • 重新标记(CMS remark):多线程运行,需要Stop The World,标记并发标记阶段产生对象。
  • 并发清除(CMS concurrent sweep):无停顿,和用户线程同时运行,清理掉标记阶段标记的死亡的对象。

Concurrent Mark Sweep收集器运行示意图如下:

Concurrent Mark Sweep收集器运行示意图