MinorGC vs YoungGC,一回事,当Eden区占满之后触发对年轻代的垃圾回收
FullGC vs OldGC
在G1之前的垃圾回收器里,两者是等价的,都是老年代被占满之后触发对老年代的垃圾回收
在G1里不等价,G1里的FullGC是将新生代、老年代和young就带等全部空间进行垃圾回收
MajorGC,直接问到底是Old GC还是Full GC
MixedGC,这个只在G1才有,当老年代占据堆空间超过45%就会触发,此时会对年轻代区域和部分老年代区域进行垃圾回收
新生代回收(YGC):只回收新生代,代价抵、频率高
混合回收(MixGC):回收全部新生代+不分老年代,频率一般
Full回收(FullGC):全部堆空间,代价高、频率低
大对象回收
1. 通过G1HeapRegionSize设置区间大小
分区大小只能采用2的指数倍的值,如果不是,会向下取到最近的值
不推荐这种方式
2.
这种方式最多设置到32M
Region的个数,默认2048
Region的大小,默认1M
分区的类型:
新生代分区
老年代分区
大对象分区(H区)
如果对象大学大于等于分区(Region)的一半就会将其放到H区
3. 新生代和老年代分别占多少
默认情况下,新生代占比是动态变化的,新生代占堆空间的比例最小是5%,然后慢慢加到最大为60%。
可以通过-XX:NewRatio参数来调整,-XX:NewRatio=6,堆空间128M,则新生代大小为128/(1+6)=18M
混合回收的阈值?
并发标记是怎么为混合回收服务的?
GC root:
线程的虚拟机栈对象,常量应用,被加锁的对象
G1的三种垃圾回收方式:
新生代回收(YGC):只回收新生代区域,代价低/频率高
混合回收(MixGC):回收全部新生代+部分老年代,频率一般
完全回收(FullGC):全部堆空间,代价高/频率低
学习fffffffffffffff
课程总结与优化方案梳理
【故障实战】—为什么subList会导致系统崩溃
【故障实战】—大对象太多导致在线短视频无法观看
G1三种回收方式详解(三)—G1
【场景实战】--如何解决计费系统不稳而招来投诉的问题?
通过日志来分析混合回收执行过程
混合回收如何确定哪些被回收?为什么要执行多次?
混合回收并发标记为什么从YGC开始?
G1三种回收方式详解(二)—G1混合回收
每秒10万QPS的公开课系统为什么优先升级为G1?
【场景实战】—模拟一次YGC新生代回收过程
G1三种回收方式详解(一)—新生代回收
梳理几个容易晕的GC的概念
G1三种垃圾回收策略的概念与触发条件
深入剖析G1-region划分原理
一步一图带你理解G1垃圾回收流程,让你轻松掌握回收全局
1-1 初识G1垃圾回收器
test 11111
划分小区域的优点
G1的应用场景