垃圾收集器从入门到踹门

  1. 垃圾收集器种类


1.1 Serial

Serial顾名思义为串行垃圾收集器,用于新生代的垃圾回收。由于新生代内存区域是采用分区的,所以Serial垃圾收集器采用的算法为"标记-复制"算法。

图1 Serial串行收集器


1.2 ParNew

ParNew顾名思义为并行垃圾收集器,用于新生代的垃圾回收。由于新生代内存区域是采用分区的,所以ParNew垃圾收集器采用的算法为"标记-复制"算法。

图2 ParNew并行收集器


1.3 Parallel Scavenge

Parallel Scavenge顾名思义为并发垃圾收集器,用于新生代的垃圾回收。由于新生代内存区域是采用分区的,所以ParNew垃圾收集器采用的算法为"标记-复制"算法。但是与ParNew收集器不同的是,该垃圾收集器注重程序的执行效率,减少STW(Stop The World)时间,采用工作线程与回收线程同时执行。

图3 Parallel Scavenge并发收集器


1.4 Serial Old

Serial Old顾名思义为串行垃圾收集器,用于老年代的垃圾回收。老年代只有一块内存区域,该垃圾收集器设计的是"标记-整理"算法。

图4 Serial Old串行收集器


1.5 Parallel Old

Parallel Old顾名思义为并行垃圾收集器,用于老年代的垃圾回收。老年代只有一块内存区域,该垃圾收集器设计的是"标记-整理"算法。

图5 Parallel Old并行收集器


1.6 CMS

CMS(Concurrent Mark Sweep)顾名思义为并发标记清除收集器,用于老年代的垃圾回收。但是与Parallel Old收集器不同的是,该垃圾收集器注重程序的执行效率,减少STW(Stop The World)时间,采用工作线程与回收线程同时执行。

图6 CMS并发收集器


1.7 G1

G1与上面的6中垃圾收集器不同,G1是一种用于新生代和老年代的收集器。引入了Region思想,默认为2048个Region。对于大对象,超过50%的对象,就放在老年代(横跨多个Region,拼接起来的意思)。采用"标记-整理"算法。

图7 G1收集器


以上是垃圾收集器的所有内容,欢迎共鸣!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值