CMS垃圾收集器的特点有哪些?

提问者:帅平 问题分类:面试刷题

CMS垃圾收集器的特点有哪些?

1 个回答
Rae
Rae 管理员

CMS垃圾收集器的特点有:

1、Mark-Sweep、多线程;
2、追求低延迟;
3、四个阶段(初始标记、并发标记、重新标记、并发清除),第一和第三阶段需要 STW;
4、采用 “增量更新” 解决 “对象消失” 问题;
5、一般还会设置 Serial Old 做老年代收集预案,因为 CMS 会出现并发失败问题 “Concurrent Mode Failure”(无法处理“浮动垃圾” 导致堆被完全占满而报错 or CMS 垃圾收集运行期间预留的内存无法满足程序分配新对象的需要),这时候就会触发 Serial Old 用 Mark-Compact 算法做老年代收集;
6、CMS 基于 Mark-Sweep 算法会有大量空间碎片产生,往往会出现老年代还有很多剩余空间,但就是无法找到足够大的连续空间来分配当前对象,而不得不提前触发一次 Full GC

发布于:1个月前 (10-20)
我来回答