JDK11 之后加入的新垃圾收集器 ZGC,一个Scalable、Low Latency的垃圾回收器
一个号称停顿可以在10ms内的java 垃圾收集器(实际停顿在0.5~1ms);
ZGC的一些特性:
扫描:
Region Based:
将内存划分为若干块region——在很多的内存管理的策略中都是将内存划分为多个小的部分进行管理;并且划分出的区域有不同大小,使之管理更加灵活;
非常多的内存管理策略和垃圾回收策略都使用了这样的思想,将内存划分为若干块;
Partial Compaction:
和G1一样不是像cms一样压缩整个old区,而是只回收需要的region;
NUMA-aware:
感知numa的绑定
Load Barriers:
有别于写屏障,读屏障可以做到不需要STW
扫描:
扫描和停顿还是有的,但是ZGC的停顿时间非常短,并且主要和root 集合有关和堆大小无关;
ZGC tuning:
易用性,站在使用者角度考虑,参数较少,使用者不需要关心复杂的参数调优过程;