垃圾收集器

Serial收集器:单线程收集器,收集时会暂停所有工作线程(stop the world,简称STW),使用复制收集算法,虚拟机运行在client模式时的默认新生代收集器,最早的收集器,新生代和老年代都可以使用,在新生代采用复制算法,在老年代,采用标记整理算法,因为是单线程,没有多线程切换的额外开销。

ParNew收集器:这是Serial的多线程版本,除了使用多个收集线程外,其余行为包括算法,STW,对象分配规则,回收策略,都和serial收集器一模一样,这种是虚拟机运行在server模式的默认新生代收集器,在单CPU的环境中,ParNew收集器并不会比Serial收集器有更好的效果

Parallel Scavenge收集器:也是一种多线程收集器,也是使用复制算法,但它的对象分配规则和回收策略都与ParNew收集器有所不同,它是以吞吐量最大化(GC时间占总运行时间最小)为目标的收集器实现,它允许较长时间的STW换取总吞吐量最大化

Serial Old收集器:是单线程收集器,使用标记-整理算法,是老年代的收集器

Parallel Old收集器:老年代版本吞吐量优先收集器,使用多线程和标记-整理算法,JVM1.6提供,在此之前,新生代使用了PS收集器的话,老年代除Serial Old别无选择,因为Ps无法和CMS收集器配合工作

CMS收集器:一种以最短停顿时间为目标的收集器,但是它并不能达到GC效率最高(总体GC时间最小),但是可以尽可能降低GC时服务停顿时间,CMS收集器使用的是标记-清除算法,追求最短停顿时间,非常适合web应用,只针对老年代,一般结合ParNew使用,只有在多cpu环境下才有意义

CMS的缺点:1)以牺牲CPU资源的代价来减少用户线程的停顿,当cpu个数少数4的时候,有可能对吞吐量影响非常大,

                      2)在并发清理过程中,用户线程还在跑,这时候需要预留一部分空间给用户线程,

                      3)采用标记,清除,会带来碎片问题,碎片过多会容易频繁触发Full GC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值