41垃圾回收器 — 总结

Posted 一起学 Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了41垃圾回收器 — 总结相关的知识,希望对你有一定的参考价值。

01

垃圾回收器对比

垃圾收集器

作用位置

使用算法

特点

适用场景

Serial

串行运行 新生代 复制算法 响应速度优先 适用于单CPU环境下的Client模式

ParNew

并行运行 新生代 复制算法 响应速度优先 多CPU环境下Server模式下与CMS配合使用

Parallel

并行运行 新生代 复制算法 吞吐量优先 适用于后台运算而不需要太多交互的场景

Serial Old

串行运行 老年代 标记压缩算法 响应速度优先 适用于单CPU环境下的Client模式

Parallel Old

并行运行 老年代 标记压缩算法 吞吐量优先 适用于后台运算而不需要太多交互的场景

CMS

并发运行 老年代 记清除算 响应速度优先 适用于互联网或B/S业务

G1

并发、并行运行 新生代、老年代 标记压缩算法、复制算法 响应速度优先 面向服务端应用

02

垃圾回收器(GC)发展阶段

  1. Serial => Parallel(并行) => CMS(并发)=> G1 => ZGC 


03

如何选择垃圾收集器

  1. 优先调整堆的大小让JVM自适应完成

  2. 如果内存小于100M,使用串行收集器

  3. 如果是单核、单击程序,并且没有停顿时间的要求,串行收集器

  4. 如果是多 CPU、需要高吞吐量、允许停顿时间超过1s,选择并行或者JVM自己选择

  5. 如果是多 CPU、追求低停顿时间,需要快速响应(比如延迟不能超过1s,如互联网应用),使用并发收集器

  6. 官方推荐G1,性能高。现在的互联网项目,基本都是用G1


04

GC日志解读

  1. GC:

  2. Full GC  

  3. 41、垃圾回收器 — 总结



05

GC日志分析工具

  1. 生成GC日志文件配置:-Xloggc:../logs/gc.log

  2. GCEasy:在线工具,导入log文件即可(https://gceasy.io/

  3. 其他工具:GCViewer、GCHisto等



扫码关注我




你们点点“分享”,给我充点儿电吧~



以上是关于41垃圾回收器 — 总结的主要内容,如果未能解决你的问题,请参考以下文章

JVM的垃圾回收机制 总结(垃圾收集回收算法垃圾回收器)

垃圾回收策略学习总结

java垃圾回收机制学习总结

JVM垃圾回收器总结——G1垃圾收集器

JVM垃圾回收器总结——G1垃圾收集器

垃圾回收与内存分配——总结篇