分代回收理论
2023-03-16 10:49:26 0 举报
GC分代回收理论
作者其他创作
大纲/内容
1.大对象直接进入老年代:JVM中有个参数配置-XX:PretenureSizeThreshold,令大于这个设置值的对象直接进入老年代,目的是为了避免在Eden和Survivor区之间发生大量的内存复制。2.minor gc 之后,存活于survivor 区域的对象的age会+1,当超过(默认)15的时候,转移到老年代。-XX:MaxTenuringThreshold来设定3.动态对象,如果survivor空间中相同年龄所有的对象大小的综合和大于survivor空间的一半,年级大于或等于该年纪的对象就可以直接进入老年代。
老年代
方法区
永久代/元空间
survivor from(10%)
survivor to(10%)
标记清除算法
堆
新生代
1.新产生的对象优先进去Eden区2.Eden区满了之后使用Survivor from3.当Survivor from 也满了之后就进行Minor GC(新生代GC)4.将Eden和Survivor from中存活的对象copy进入Survivor to 如果Survivor to 无法容纳全部存活的对象,则根据老年代的 分配担保(类似于银行的贷款担保)将对象copy进去老年代,如果老年代也无法容纳,则进行Full GC(老年代GC)。5.清空Eden和Survivor from6.调转两个survivor的身份。7.循环反复
1.新生代回收(Minor GC/Young GC):指只是进行新生代的回收。font color=\"323232\
朝生夕死每次GC时都会有大量对象死去,少量存活,使用复制算法
Eden/伊甸园空间(80%)
GC分类
0 条评论
下一页