MinorGC FullGC

1:MinorGC 新生代GC

何时触发?

当Eden区满了无法再分配内存空间的时候此时会触发minorGC

触发时如何检查?

当执行gc前会先计算老年代剩余大小,判断是否满足新生代S区所有对象全部转移。因极端情况gc后s区所有对象都会存活。此时判断如果不够,则会去执行空间担保策略,查看历史gc后进入老年代的平均对象大小,如果不满足,此时会连带触发一次FullGc。

MinorGc后有几种情况?

新生代存活对象大于to区小于老年代则进入老年代

新生代年龄超过15岁进入老年代

新生代to区空间大于50%的最老对象进入老年代

如果老年代和to区无法存放足够的数据此时会触发一次FullGC,FullGC后依然不够则oom

2:FullGC 老年代gc

对象占空间大小超过92%,可配置。此时触发

MinorGC前空间担保检查发现历代gc后进入老年代的对象综合大于剩余空间,此时minorGC会连带进行一次FullGC

minorGC后存活对象大小超过to区和老年代,此时再次触发FullGC

相关推荐
这个DBA有点耶1 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_2 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky3 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
QXWZ_IA3 小时前
1库1图1批是什么?千寻位置公安地图数据体系详解
科技·算法·能源·媒体·交通物流·政务
c238564 小时前
Bug 猎手入门指南
c++·算法·bug
Reart4 小时前
Leetcode 213.打家劫舍2(内含闲谈,打劫真是技术活,好题,716)
后端·算法
云云只是个程序马喽4 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
Reart5 小时前
Leetcode 198.打家劫舍(716)
后端·算法
Jerry5 小时前
LeetCode 110. 平衡二叉树
算法