垃圾回收器总结

一 垃圾回收器总结

截止 JDK1.8,一共有 7 款不同的垃圾收集器。每一款的垃圾收集器都有不同的特点,在具体使用的时候,需要根据具体的情况选用不同的垃圾收集器。

二 GC 发展阶段

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

三 垃圾回收器组合

不同厂商、不同版本的虚拟机实现差距比较大。

HotSpot 虚拟机在 JDK7/8 后所有收集器及组合如下图。(更新到 JDK14)

四 怎么选择垃圾回收器

Java 垃圾收集器的配置对于 JVM 优化来说是一个很重要的选择,选择合适的垃圾收集器可以让 JVM 的性能有一个很大的提升。怎么选择垃圾收集器?

  • 优先调整堆的大小让 JVM 自适应完成。

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

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

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

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

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

最后需要明确一个观点。

  • 没有最好的收集器,更没有万能的收集器。

  • 调优永远是针对特定场景、特定需求,不存在一劳永逸的收集器。

五 面试

对于垃圾收集,面试官可以循序渐进从理论、实践各种角度深入,也未必是要求面试者什么都懂。但如果你懂得原理,一定会成为面试中的加分项。

这里较通用、基础性的部分如下:

垃圾收集的算法有哪些?如何判断一个对象是否可以回收?

垃圾收集器工作的基本流程。

另外,大家需要多关注垃圾回收器各种常用的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值