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求职#
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 10:39
一个证都没 我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务