https://juejin.cn/post/7238185960059600955
如果你是 CMS, 那么老年代占用内存达到百分之 97 , 激活 full gc
为什么是百分之 97? 不是 100%?
防止浮动对象过多, 导致OOM
对于G1的话, 一般在老年代的Region占据了堆内存的Region的45%之后,会触发一个混合回收的过程,也就是Mixed GC, 假如堆内存有2048个Region,如果老年代占据了其中45%的Region,也就是接近1000个Region的时候,就会开 始触发一个混合回收, 借助global concurrent marking统计计算出高收益的年轻代和老年代的region一起回收
G1如果在触发回收机制的时候发现没空闲的region了, 那么stw, 进行一起全局的serial old gc(full gc)回收