JVM六大垃圾回收器特点及区别

1、Serial:

标记整理算法。

单线程,适合单CPU,效率高,STW。

Old:

单线程回收老年代,CMS 发生Concurrent Mode Failure的备选方案。

2、Parallel:

New:

Serial多线程版。

默认使用线程数和CPU个数相同,

可通过+UseParallelGCThreads控制。

Scavange:

注重吞吐量,可设置垃圾回收时间和其占比。

-XX:+UseAdaptiveSizePolicy自适应堆中各区占比。

Old:

标记整理算法。

Scavenge老年代版本,Parallel Scavenge+Parallel Old可实现高吞吐量。

3、CMS

标记清除算法。

力求回收时间最短。

标记:

初始——>并发——>置新

初始、置新还是会STW,时间较短。

并发,和其他线程一起运行,默认使用(当前CPU个数+3)/4线程,比Parallel并发标记快很多。

缺点:

对CPU敏感,最好4个以上。

回收中还会产生垃圾。

产生空间碎片。

 

可以设置Full GC后,磁盘碎片整理。

然而,碎片整理时,不能并发回收。可以设置碎片整理的次数。^_^,打补丁。

ps:

STW——>Stop The Word。

转载于:https://www.cnblogs.com/codegod/p/9061059.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值