CMS垃圾回收器运行机制与优缺点

1 简介

CMS(Concurrent Mark Sweep)收集器将低GC停顿作为目标的并发收集器,采用“标记-清除”算法,尽可能降低GC的停顿时间,关注应用的响应速度,所以它在Web应用服务中被大量使用。

2 运行机制

在这里插入图片描述

CMS进行GC的两个阶段

(1)标记阶段

  • 初始标记(STW):标记GC Roots能直接关联到的对象,速度较快
  • 并发标记:从初始标记过程标记到的对象遍历对象图,该过程与用户进程并发执行
  • 重新标记(STW):增量地对并发标记过程产生变动的对象进行标记,稍长于初始标记

(2)清除阶段

  • 并发清除:仅清理标记阶段判断的已死亡的对象,不移动存活对象,与用户线程并发执行

对于CMS GC的过程来说,在初始标记和重新标记有停顿,其余过程都与用户进程并发执行。

3 缺点

3.1 对CPU资源敏感

由于GC线程是CPU密集型线程,且它与用户线程在“并发标记”与“并发清除”阶段是并发执行的,所以GC线程会与用户线程竞争

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值