CMS收集器
CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器;这款收集器是HotSpot虚拟机中第一款真正意义上支持并发的垃圾收集器,首次实现了让垃圾收集线程与用户线程(基本上)同时工作。
适用于:互联网网站或者基于浏览器的B/S系统的服务端
具体步骤
基于标记-清除算法实现的,具体步骤分为4步:
1.初始标记:Stop The World -> 标记一下GC Roots能直接关联到的对象,速度很快
2.并发标记:从GC Roots的直接关联对象开始遍历整个对象图的过程,这个过程耗时较长但是不需要停顿用户线程,可以与垃圾收集线程一起并发运行;基于增量更新做的并发标记
3.重新标记:Stop The World -> 为了修正并发标记期间,因用户程序继续运作而导致标记产生变动的那一部分对象的标记记录;时间:比初次标记稍长,远远小于并发标记时间
4.并发清除:清理删除掉标记阶段判断的已经死亡的对象,由于不需要移动存活对象,所以这个阶段也是可以与用户线程同时并发的。
Stop The World:必须