一、CMS定义和特点
CMS收集器是一种以获取最短停顿时间为目标的收集器。它的优点是并发收集和低停顿。
二、CMS 基于哪种GC算法实现的
CMS主要是基于标记清除算法实现的
三、标记清除算法详解
算法主要是分为 标记 和 清除 两个阶段实现,在标记阶段 从 GC root出发通过可达性分析将需要被清除的对象标记起来,在清除阶段全部进行清除,这种算法有两个比较显著的一个缺点,一个是效率问题,一个是空间问题,标记-清除算法效率其实并不理想,这与它需要事先将需要清除的对象标记起来有关系,再一个就是空间的问题,该算法在清理的过程中会产生许多的空间碎片,这对内存是一种不小的浪费。为了解决空间碎片的问题 jvm引入了标记-整理算法,这将在之后的文章中介绍。
四、CMS 回收的四个阶段
(1)、初始标记
根据可达性分析从 GC roots 出发标记待清理对象的过程
(2)、并发标记
并发 从 GC roots tracing 的过程
(3)、重新标记
并发表基过程中由于 程序运行而导致标记产生变动的那一部分对象的重新标记
(4)、并发清除
清除标记对象的过程
jVM 垃圾回收器之CMS详解
最新推荐文章于 2024-02-29 07:00:00 发布