堆内存模型
2021-09-04 11:47:04 0 举报
堆内存模型
作者其他创作
大纲/内容
老年代
S0(或者from)
①:大部分对象都分配在新生代,而且一般来说存活时间很短。②:YoungGC(或MinorGC),使得存活的少部分对象进入Survivor区的S0,此时S1为空③:每次YoungGC,S0跟S1有数据的一方就会跟Eden一起做垃圾回收,Eden跟有数据的一方会同时将存活的对象复制进入没有数据的Survivor区。目的是减少内存碎片。④:触发进入老年的情况:a、每次出发YoungGC就会使得存活对象的年龄增加1,默认情况下年龄达到15之后,就会进入老年代。b、大对象直接进入老年代(-XX:PretenureSizeThreshold指定)c、MinorGC之后无法将存活对象放入另外一个survivor区,也是直接进入老年代d、老年代空间分配担保原则:在MinorGC执行前,如果新生代全部的对象大小大于老年代可用的空间大小,(font color=\"#ff6666\
④
②
③
Eden①
S1(或者to)
堆内存
old
新生代
0 条评论
下一页