JVM 彻底搞懂什么是老年代空间分配担保机制
2023-02-18 16:38:04 时间
B站搜索“乐哥聊编程“有本篇文章配套视频 https://www.bilibili.com/video/BV1de4y1p7sf
面试题
为什么要设置老年代空间分配担保机制?
定义
在发生minor gc之前,jvm会首先检查老年代的可用连续空间是否大于新生代年龄总大小,如果成立,则进行minor gc,并且这个minor gc是安全的,不会触发full gc。
反之,如果不成立,则会检查jvm是否配置-XX:-HandlePromotionFailure,如果配置了老年代空间分配担保机制,那么就会进行老年代空间分配担保机制的判断。
通过计算历史minor gc后进入老年代对象的平均总大小,如果这个值不大于老年代连续可用空间的总大小,那么就冒险进行minor gc,如果 jvm设置了-XX:HandlePromotionFailure(不允许冒险)或者大于可用空间大小,则还是会做full gc
担保判断流程
相关文章
- Ansible PlayBook语法
- Ansible 通过Playbook部署LAMP
- InnoDB的锁(Locking)
- Ansible 通过PlayBook部署Zabbix
- 一次死锁(Dead Lock)分析
- 【matplotlib】3-绘制统计图形
- 融资
- 共享文件夹
- Docker Registry
- 编译LAMP部署动态网站环境
- 如何在本地Fabric release-2.2上快速make all成功
- 编译LNMP部署动态网站环境
- Odoo 基于Win10搭建基于Win10搭建odoo14开发环境搭建
- certutil 命令配合PS反弹后门
- nacos v2.2 k8s部署启动报错:nacos server did not start because dumpservice bean construction failure. errMs
- 使用 openPDF 创建带目录的文档时候, 使用如下方式, 可以保证目录页码准确
- Web前端开发HTML笔记
- Web前端开发CSS笔记
- 花个几分钟,带你再了解一下Java注解
- 数字化供应链|B2B供应链协同可视化如何应用全程业务化管理