看过深入理解java虚拟机,书上这个问题以结论性的一句话带过了,面试的时候被问到了这个问题,老年代对象生存时间长,不容易被回收,所以效率低?感觉怪怪的
黄舟2017-04-17 14:31:05
從年代劃分的角度來講,我覺得問題是本末倒置了,年代劃分目的是區別長期存在對象和短時間存在對象。
物件有可能長期存活,所以才會被放入老年代,標記整理過後,由於老年代的對像有很幾率繼續存活,所有回收的內存少。
新生對像有可能朝生暮死,假如新生對像有80%的機率死亡,經過多輪篩選後,將仍存活的物件存入老年代。那麼從這樣的流程看來,老年代的物件回收效率果然低。