cms垃圾回收器的回收过程
cms垃圾回收器是一种以获取最短停顿时间的垃圾回收器
Concurreent Mark Sweep 并发标记清除
回收步骤:
1.初始标记
2.并发标记
3.重新标记
4.并发清除
其中初始标记和并发标记需要STW
初始标记只标记GCROOTS能直接关联到的对象,速度很快
并发标记才是真正进行GC TRACING的过程
重新标记是为了标记在并发标记过程中因用户线程继续运作导致标记产生变动的那部分对象,重新标记时间会比初始标记时间长,但是远比并发标记时间短
cms垃圾回收的过程
cms垃圾回收的缺点:
1.cpu敏感
2.无法处理浮动垃圾
3.基于标记清除算法,所以会产生较多的内存碎片,cms提供了参数控制多少次垃圾回收后会进行一次内存整理