为了账号安全,请及时绑定邮箱和手机立即绑定

为什么老年代垃圾回收效率比新生代低很多?

为什么老年代垃圾回收效率比新生代低很多?

慕娘9325324 2019-03-21 18:19:49
看过深入理解java虚拟机,书上这个问题以结论性的一句话带过了,面试的时候被问到了这个问题,老年代对象生存时间长,不容易被回收,所以效率低?感觉怪怪的
查看完整描述

2 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

从年代划分的角度来讲,我觉得问题是本末倒置了,年代划分目的是区别长期存在对象和短时间存在对象。
对象有可能长期存活,所以才会被放入老年代,标记整理过后,由于老年代的对象有很几率继续存活,所有回收的内存少。
新生对象有可能朝生暮死,假如新生对象有80%的概率死亡,经过多轮筛选后,将仍存活的对象存入老年代。那么从这样的流程看来,老年代的对象回收效率果然低。

查看完整回答
反对 回复 2019-04-15
?
慕村225694

TA贡献1880条经验 获得超4个赞

老年代并不回一次就回收掉。总是经历过几次回收才会回收


查看完整回答
反对 回复 2019-04-15
  • 2 回答
  • 0 关注
  • 719 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信