89.谈谈7 种经典的垃圾回收器以及怎么搭配或选择垃圾收集器?

89.谈谈7 种经典的垃圾回收器以及怎么搭配或选择垃圾收集器?

00:00
03:13

![image-20211216090950355](https://erainm-pic.oss-cn-shenzhen.aliyuncs.com/img/image-20211216090950355.png)
image-20211216090950355

image-20211216091241692

垃圾回收器组合:


两个收集器间有连线,表明它们可以搭配使用: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,性能高。


以上内容来自专辑
用户评论

    还没有评论,快来发表第一个评论!