面试题——JVM老年代空间担保机制(我的想法)

这里借用一下人家的图,来说一下我的想法,嘻嘻。。。。

原文链接:一道面试题:JVM老年代空间担保机制-CSDN博客?

嗯,我觉得老年代担保机制的主要作用就是避免频繁触发FULL GC ,这其实也是因为年轻代Minor GC后存活对象大小的不确定性而造成的,整体流程就是当准备Minor GC时,老年代会先提前预估一下,往最坏了想,如果这次年轻代GC后,所有对象都存活下来并且还全都要进入老年代,那我能不能承受住呢,如果行,那么正常执行Minor GC即可,但如果不行,老年代就要判断一下了,参考以往的多次Minor GC后进入老年代对象的大小平均值,如果现在老年代可用空间小于平均值,则直接执行Full GC,但如果现在老年代可用的空间大于平均值,则还是硬着头皮执行Minor GC,如果执行了Minor GC后,老年区的剩余空间是够用的,则一切安好,如果硬着头皮执行Minor GC后,剩余空间是不够的,则还是会执行Full GC。

这就是老年代空间担保的过程,是新生代对象向老年代空间进行担保,看我Moinor GC后,进入老年代对象的总大小,你老年代能不能装的下。

而且老年代的空间担保机制是默认开启的。

相关推荐
齐生112 小时前
iOS 知识点 - 渲染机制、动画、卡顿小集合
笔记
雨中飘荡的记忆14 小时前
保证金系统入门到实战
java·后端
Nyarlathotep011314 小时前
Java内存模型
java
暮色妖娆丶18 小时前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
NE_STOP19 小时前
MyBatis-参数处理与查询结果映射
java
狂奔小菜鸡19 小时前
Day40 | Java中的ReadWriteLock读写锁
java·后端·java ee
用户9623779544820 小时前
VulnHub DC-1 靶机渗透测试笔记
笔记·测试
SimonKing20 小时前
JetBrains 用户狂喜!这个 AI 插件让 IDE 原地进化成「智能编码助手」
java·后端·程序员
狂奔小菜鸡20 小时前
Day39 | Java中更灵活的锁ReentrantLock
java·后端·java ee