JVM堆中新对象申请内存过程详细图以及升老年代四种情况 标注

JVM升老年代四种情况

1. 担保机制

当Survivor区的的内存大小不足以装下下一次Minor GC所有存活对象时,就会启动担保机制,把Survivor区放不下的对象放到老年代;

2. 大对象直接放入老年代

大对象(大小大于-XX:PretenureSizeThreshold的对象)直接在老年代分配内存;(只对Serial和ParNew收集器有效,对于Parallel Scavenge收集器无效)

3.长期存活的对象进入老年代

把age大于-XX:MaxTenuringThreshold的对象晋升到老年代;(对象每在Survivor区熬过一次,其age就增加一岁);

4.动态年龄判断

当 Survivor 空间中相同年龄所有对象的大小总和大于 Survivor 空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,而不需要达到默认的分代年龄。

堆中新对象申请内存流程图

图片说明

​脑图下载 地址 https://gitee.com/vx202158/vx202158

#java求职#
全部评论

相关推荐

2024-11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务