-XX:UseG1GC

设计目标

使STW停顿变成可预期可配置的

内存划分

堆不再区分年轻代和老年代,而是划分为多个(通常2048)小块堆区域,每个小块的区域定义也不是固定的,可能一会为Eden区,一会为Survivor区或者Old区,如图
image.png
每次不必回收整个堆空间,而是按照内存块的增量处理
另外设计上会优先手机垃圾最多的小块