CMS垃圾回收器与G1垃圾回收器

CMS垃圾回收器适用于老年代,以最短停顿时间为目标,采用并发标记清除算法,存在CPU敏感、内存碎片和浮动垃圾等问题。G1垃圾回收器采用化整为零思想,将堆划分为Region,通过SATB解决并发标记问题,力求停顿时间可预测,具备并行、并发、分代、空间整合等特点,并使用RSET和CardTable处理跨代引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CMS垃圾回收器与G1垃圾回收器

先上一张图
在这里插入图片描述

CMS基本介绍

cms垃圾回收器作用于老年代,采用标记清除算法,新生代回收配对的是ParNew,以最短停顿时间为目标,其回收主要经过初始标记,并发标记,重新标记,并发回收 4个阶段,下面来简单介绍下4个阶段所做的事情。

在这里插入图片描述

  • 初始标记:暂停所有用户线程,初始标记阶段只标记对与GCRoots直接关联的对象,所以暂停时间很短。
  • 并发标记:这一阶段根据与GCRoots直接关联的对象进行可达性分析,耗时较长,与用户线程同时进行。
  • 重新标记:暂停所有用户线程,主要处理并发标记阶段用户线程运行导致标记产生变动的那一部分对象,时间比初始标记稍长。
  • 并发清除:与用户线程一起运行,根据标记回收对象。
CMS的适用场景及问题
  1. CPU敏感:CMS采用并发收集的方式,当cpu不足4核时,对用户线程影响较大。
  2. 内存碎片:采用标记清除算法,所以会产生内存碎片。
  3. <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值