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