简单的了解下G1是怎么做到控制垃圾回收停顿时间的?

G1可以设置一个垃圾回收的预期停顿时间,制定一个目标,规定在一个时间内,垃圾回收引起的停顿时间不能超过多久,之后就由G1来全权负责,保证达到该目标。想想之前的几款垃圾回收器,费尽心思的优化参数,最终其实还是为了减少STW的时间,提高吞吐量,而G1直接就做到由开发者来指定STW时间,相比起其他垃圾回收器,无疑显得更智能和友好。

而G1能够做到控制垃圾回收停顿时间的关键在于,它要追踪每个Region的回收价值,它要清楚每个Region里有多少对象是垃圾,如果对这个Region做回收,会消耗多少时间,尽量在有限的时间内回收更多的垃圾对象,把垃圾回收造成的STW时间控制在开发指定的时间范围内。

简而言之,G1会根据开发设定的预期系统停顿时间,来选择最少回收时间和最多垃圾对象的Region进行回收,效率和成果最大化,保证GC时的停顿时间在可控范围内。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值