java - 为什么老年代垃圾回收效率比新生代低很多?
迷茫
迷茫 2017-04-17 14:29:05
0
1
450

看过深入理解java虚拟机,书上这个问题以结论性的一句话带过了,面试的时候被问到了这个问题,老年代对象生存时间长,不容易被回收,所以效率低?感觉怪怪的

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(1)
黄舟

從年代劃分的角度來講,我覺得問題是本末倒置了,年代劃分目的是區別長期存在對象和短時間存在對象。
物件有可能長期存活,所以才會被放入老年代,標記整理過後,由於老年代的對像有很幾率繼續存活,所有回收的內存少。
新生對像有可能朝生暮死,假如新生對像有80%的機率死亡,經過多輪篩選後,將仍存活的物件存入老年代。那麼從這樣的流程看來,老年代的物件回收效率果然低。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!