Java 11 中带了一个新的GC回收器:Z Garbage Collector (ZGC)。并发
适用于:性能
Java 11 才引入,目前仍是实验性质线程
能够经过:-XX:+UseZGC
启用ZGC; 还须要带上:-XX:+UnlockExperimentalVMOptions
(解锁隐藏vm选项)code
ZGC中最重要的参数,就是堆的最大空间:-Xmx
。内存
由于ZGC是并发执行,因此最大堆空间必须设定:资源
对于ZGC并发执行GC的线程数量,能够经过:-XX:ConcGCThreads
设定。io
ZGC默认会自动测算出一个合理的线程数量:并行
若是不是对暂停时间有特殊要求,那么请尽可能让VM本身来选择GC策略。im
若是须要,还能够经过调整堆区大小,来改进性能。若是还不能达到性能要求,能够从如下几个方面来选择GC策略:数据
-XX:+UseSerialGC
-XX:+UseSerialGC
-XX:+UseParallelGC
-XX:+UseG1GC
-XX:+UseConcMarkSweepGC
-XX:UseZGC
(彻底并发回收)以上策略仅仅是选用GC的通常思路。GC性能主要取决于:
若是通过这些分析,没有得到预期中的性能表现。请首先尝试调整堆区大小、分代空间大小;若是性能仍然不理想,再尝试不一样的GC策略: