029、JVM实战总结:大厂面试题:最新的G1垃圾回收器的工作原理,你能聊聊吗

1、ParNew + CMS的组合让我们有哪些痛点?

痛点:STW,且停顿时间不可控

G1垃圾回收器比~更好的垃圾回收性能

2、G1垃圾回收器

G1 同时回收新生代和老年代的对象,把java堆拆分为多个大小相等的Region

最大特点:可以设置 ‘预期停顿时间’,G1全权负责达到这个目标,控制回收对性能的影响

3、G1是如何做到对垃圾回收导致的系统停顿可控的?

1-通过把内存拆分为大量小Region

2-追踪每个Region的回收价值 - 有多少垃圾、回收这些垃圾预估耗时多少。

3-在设置的垃圾回收时间内,选择回收价值最好的进行回收

??表述中‘设置预期停顿时间’,G1全权负责,保证达到这个目标,后面表述‘尽量控制在指定的时间范围’,请问会存在回收时间超时的现象么?

答:几乎不会

??、如果在指定的时间内,回收的空间满足不了新对象的空间需求会怎样?是继续触发回收还是oom

答:继续触发回收    

4、Region可能属于新生代也可能属于老年代 

  新生代和老年代各自的内存区域是不停的变动的,由G1自动控制。 

??状态转换:新生代和老年代各自的内存区域是不停的变动,新生代变为老年代可以理解,老年代会变为新生代么?我猜想应该不会,可能老年代的Region空间全部回收完了,可能从老年代 变成 初始状态(非新非老),然后变成新生代,这样循环轮回。

答:Region变空后才会改变分代属性

 

本文是《从 0 开始带你成为JVM实战高手》内容总结,版权问题,特此声明。详细内容:

 

 

 

 

购买成功后找我返现10元

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java硕哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值