![image-20211216090950355](https://erainm-pic.oss-cn-shenzhen.aliyuncs.com/img/image-20211216090950355.png)
垃圾回收器组合:
两个收集器间有连线,表明它们可以搭配使用:Serial/Serial Old、Serial/CMS、ParNew/Serial Old、ParNew/CMS、Parallel Scavenge/Serial Old、Parallel Scavenge/Parallel Old、G1;
其中Serial Old作为CMS出现“Concurrent Mode Failure”失败的后备预案。
(红色虚线)由于维护和兼容性测试的成本,在JDK 8 时将Serial + CMS、ParNew + Serial Old这两个组合声明为Deprecated,并在JDK 9 中完全取消了这些组合的支持,就是移除。
(绿色虚线)JDK 14中,弃用Parallel Scavenge 和 Serial Old GC组合。
(青色虚线)JDK 14中,删除CMS垃圾回收器
怎么选择垃圾收集器:
优先调整堆的大小让JVM自适应完成。
如果内存小于100M,使用串行收集器。
如果是单核、单机程序,并且没有停顿时间的要求,选择串行收集器。
如果是多CPU、需要高吞吐量、允许停顿时间超过1秒,选择并行或者JVM自己选择。
如果是多CPU、追求停顿时间,需要快速响应(比如延迟不能超过1秒),使用并发收集器。官方推荐G1,性能高。
还没有评论,快来发表第一个评论!