JVM垃圾收集器

简介

     Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同的版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。Sun HotSpot虚拟机1.6板虚拟机所包含的收集器如下所示:

102147_0dwQ_2313177.png

  • Serial收集器

单线程、新生代,复制算法收集器,工作原理示意图:

103358_hlPx_2313177.png

  • ParNew收集器

多线程版本的Serial收集器,工作原理示意图:

103556_TBGA_2313177.png

  • Parallel Scavenge收集器

和以上收集器一样,也是新生代,复制算法,并行多线程的收集器,特点是能够精准控制吞吐量

  • Serial Old 收集器

基于标记-整理算法的老年代收集器,主要两大用途如下:

  1. 在JDK1.5之前的版本中与Parallel Scavenge 收集器搭配使用
  2. 作为CMS收集器的后背预案

工作原理示意图如下:

105110_DnjV_2313177.png

  • CMS收集器

CMS收集器是基于标记-清楚算法的,一种以获取最短回收停顿时间伟目标的收集器

优点:

  1. 并发收集
  2. 低停顿

缺点:

  1. CMS收集器对CPU资源非常敏感
  2. CMS收集器无法处理浮动垃圾,可能出现Concurrent Mode Failure 失败而导致另一次Full GC的产生
  3. 基于标记-清楚算法,容易产生大量空间碎片
  • G1收集器

当前收集器技术发展的做前沿成果,JDK1.7发布后的成熟商用版本的收集器

优点:

  1. 基于标记-整理算法,不会产生空间碎片
  2. 可以非常准确的控制停顿

 

转载于:https://my.oschina.net/u/2313177/blog/1620968

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值