CMS收集器是基于标记清除算法的一种并发的,低停顿的收集器,值得注意的一点是,CMS只是低停顿而不是没有停顿

CMS分为以下四步:

  1. 初始标记
  2. 并发标记
  3. 重新标记
  4. 并发清除

初始标记和重新标记都是需要Stop the world的

初始标记仅仅是记录CG root关联的对象,因此停顿时间比较短,并发标记是进行GC RootTracing,重新标记是修正并发标记期间标记的改动(时间比初始标记稍长一点),之后就是进行并发清除,
由于最耗时间的工作都是在并发操作中完成的,所以CMS的停顿会比较低

下面是CMS的过程图
CMS收集器

CMS是一个优秀的垃圾回收器,但是他也有不少缺点:

  1. 他没有办法处理浮动垃圾(就是在初始标记之后产生的垃圾)
  2. 他会占用大量的CPU资源
  3. 他会产生碎片空间(当发生Full GC时会使用Serial Old回收器来处理碎片空间)
  4. 他在回收垃圾时,由于是并行的收集,所以需要的空间比较大

相关文章:

  • 2021-11-18
  • 2022-01-04
  • 2021-04-20
  • 2022-12-23
猜你喜欢
  • 2021-12-02
  • 2021-09-18
  • 2022-02-08
  • 2021-11-18
  • 2021-05-21
  • 2022-12-23
相关资源
相似解决方案