17.垃圾回收器

一、GC分类与性能指标

1.1 垃圾回收器概述

1

1.2 垃圾回收器分类

  • 线程数分,可以分为串行垃圾回收器和并行垃圾回收器
    1
    2
  • 工作模式分,可以分为并发式垃圾回收器和独占式垃圾回收器
并发式垃圾回收器:与应用程序线程交替工作,以尽可能减少应用程序的停顿时间;
独占式垃圾回收器:stop the world 一旦运行,就停止应用程序中的所有用户线程,直到垃圾回收过程完全结束。

在这里插入图片描述

  • 碎片处理方式分,可分为压缩式垃圾回收器和非压缩式垃圾回收器
压缩式垃圾回收器:会在回收完成后,对存活对象进行压缩整理,消除回收后的碎片;
	>> 再分配对象空间使用:指针碰撞
非压缩式垃圾回收器:不进行这步操作
	>>再分配对象空间使用:空闲列表
  • 工作的内存区间分,又可分为年轻代垃圾回收器和老年代垃圾回收器

1.3 评估GC的性能指标

1
三个标红的指标关系:
1

1.4 吞吐量(throughput)

1

1.5 吞吐量vs暂停时间

1

二、不同的垃圾回收器概述

2.1 七款经典垃圾回收器

在这里插入图片描述

2.2 与垃圾分代之间的关系

1

2.3 垃圾收集器的组合关系

3
2

三、Serial回收器:串行回收

3.1 概述

1

3.2 线程关系

2

3.3 优势

3

四、ParNew回收器:并行回收

4.1 介绍

1
2

4.2 参数设置

2

五、Parallel回收器:吞吐量优先

5.1 介绍

1
2

5.2 线程关系

3
2

5.3 参数设置

3

5.4 Parallel Scavenge回收器(吞吐量优先)

  • 参数配置:
    1
    2
    4
    6

六、CMS回收器:低延迟

6.1 概述

1

6.2 工作原理

2
在这里插入图片描述
6
8
问题1:
9

6.3 优缺点

1

6.4 参数设置

1
2

6.5 小结

1

七、G1回收器:区域化分代式

7.1 问题一

  • 既然我们已经有了前面几个强大的GC,为什么还要发布Garbage First(G1)GC?
    答:
    1

7.2 问题二

为什么名字叫Garbage First(G1)呢?
答:
1

7.3 G1的优势

1
1
1

7.4 缺点

1

7.5 参数设置

1

7.6 适用场景

1

7.7 分区Region:化整为零

1
2
设置H区的原因:
1

7.8 G1垃圾回收过程

1
2

7.9 G1回收过程详细过程

  • 过程一:年轻代GC
    1

  • 过程二:并发标记过程
    2

  • 过程三:混合回收
    3
    2

  • 可选的过程四:Full GC
    1

7.10 G1回收器优化建议

1

八、垃圾回收器总结

8.1 几种垃圾收集器对比

1

8.2 GC发展阶段

1

8.3 面试题

3

九、GC日志分析

9.1 参数设置

1

9.2 补充说明

1
2

十、垃圾回收器的新发展

10.1 ZGC

1
2

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值