5.4图解对象分配过程

5.4图解对象分配过程

对象分配过程概述:

1.new的对象放在伊甸园区,此区大小有限制。

2.当伊甸园区的空间填满时,程序有需要创建对象,JVM的垃圾回收器将对伊甸园区进行垃圾回收(Minor GC),将伊甸园区中的不再被其他对象所引用的对象进行销毁。再加载新的对象放在伊甸园区。

3.然后将伊甸园区中的剩余对象移动到幸存者0区。

4.如果再次触发垃圾回收,此时上次幸存下来放在幸存者0区的对象,如果没有被回收,就会放到幸存者1区。

5.如果再次经历垃圾回收,此时会重新放回幸存者0区,接着再去幸存者1区。

6.啥时候去养老区?可以设置次数(对象年龄)。默认是15次。

可以设置参数:-XX:MaxTenuringThreshold=进行设置

7.当养老区内存不足时,再次触发GC:Major GC,进行养老区的内存清理。

8.若养老区执行了Major GC之后发现依然无法进行对象的保存,就会产生OOM异常。

java.lang.OutOfMemoryError:Java heap space

总结:

针对幸存者s0,s1区的总结:复制之后有交换,谁空谁是to。

关于垃圾回收:频繁在新生区收集,很少在养老区收集,几乎不在永久区/元空间收集。

posted @   Lz_蚂蚱  阅读(158)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起