虚拟机(三).垃圾收集器

1.垃圾收集器有哪几种

2.每种垃圾收集器的特点

3.总结

(很多人学习会有这样一个现象,对于一个新内容,上网一搜,一大页,看了就晕,然后就失去学习的动力。本章其实很繁琐,我用最简单的语言把各收集器大致说明,想知道更详细的细节可以去其他帖子搜索,网上一搜一大堆。本章的作用仅限于让大家知道有这几种收集器,以及他们最基本的一些特点)

 

1.垃圾收集器有7种:

        Serial收集器

        ParNew收集器

        Parallel Scavency收集器

        Serial Old收集器

        Parallel Old收集器

        CMS收集器

        G1收集器

 

2.每种垃圾收集器的特点

(1).Serial收集器

特点:单线程,作用于新生代,常用于Clilent端,复制算法

 

(2).ParNew收集器

特点:多线程,常用于Server端新生代,复制算法

 

(3).Parallel Scavency收集器

特点:多线程,作用于新生代,复制算法,吞吐量优先

 

(4).Serial Old收集器

特点:单线程,作用于老年代,常用于Client端,标记整理算法。

        在JDK1.5及之前配合Parallel Scavency使用。

        还可作为CMS的备选方案

 

(5).Parallel Old收集器

特点:多线程,作用于老年代,标记整理算法。

        从JDK1.6开始,配合Parallel Scavency形成一套完整的吞吐量优先的回收方案

 

(6).CMS收集器

特点:多线程,标记清除,以最短回收停顿时间为目标

    如何运行:

        1).初始标记

        2).并发标记

        3).重新标记

        4).并发清除

    缺点:

        1).对CPU资源敏感

        2).浮动垃圾没法清除

        3).因为是标记清除,所以存在碎片

 

(7).G1收集器

特点:多线程,标记整理,面向Server端,并发和并行,分代收集,可预测的停顿时间

    如何运行:

        1).初始标记

        2).并发标记

        3).最终标记

        4).筛选回收

    原理:

        在G1中没有物理上的新生代和老年代的概念,他把堆划分为多个Region,维护了一张表记录哪个Region的清空收益比较高,哪个高就去清空哪个

 

3.总结

(1).对于Client端,单线程就可以,使用Serial + Serial Old组合

(2).对于吞吐量有要求的,使用Parallel Scavency + Parallel Old组合

(3).对于停顿时间有要求的CMS

(4).G1可以算是目前较为成功的一款收集器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏哥哥啊Aaaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值