面试题——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后,进入老年代对象的总大小,你老年代能不能装的下。

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

相关推荐
鸽鸽程序猿1 分钟前
【Redis】Java客户端使用Redis
java·redis·github
悦悦子a啊1 分钟前
使用 Java 集合类中的 LinkedList 模拟栈以此判断字符串是否是回文
java·开发语言
Lucky小小吴3 分钟前
java代码审计入门篇——Hello-Java-Sec(完结)
java·开发语言
中屹指纹浏览器4 分钟前
2025技术解析:分布式指纹协同管理技术底层实现与规模化运营逻辑
经验分享·笔记
一个想打拳的程序员5 分钟前
无需复杂配置!用%20docker-webtop%20打造跨设备通用%20Linux%20桌面,加载cpolar远程访问就这么简单
java·人工智能·docker·容器
一起养小猫8 分钟前
LeetCode100天Day2-验证回文串与接雨水
java·leetcode
清晓粼溪11 分钟前
Java登录认证解决方案
java·开发语言
风123456789~13 分钟前
【健康管理】第8章 身体活动基本知识 2/2
笔记·考证·健康管理
液态不合群18 分钟前
查找算法详解
java·数据结构·算法
代码游侠19 分钟前
学习笔记——Linux进程间通信(IPC)
linux·运维·笔记·学习·算法