CMS垃圾收集器采用标记清除算法,使用多线程实现 应用场景:一般为服务端系统的老年代 是一个以达到垃圾回收期间用户线程低停顿为目标的垃圾收集器 四个阶段: 1、初始阶段:标记被GCRoot关联的对象 速度快 Stop the World 2、并发阶段:以GCRoot关联的对象开始遍历整个对象图 时间较长 不停顿用户线程 3、重新标记:在并发期间,为了修正一些因为用户线程运行而发生变动的一些对象 Stop the World 4、并发清除:删除那些在标记阶段已经死亡的一些对象 缺点: 1、内存碎片多 2、虽不会停顿用户线程,但会占用一部分线程,降低吞吐量