JVM垃圾收集器


声明:本文转载自https://my.oschina.net/u/2313177/blog/1620968,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

简介

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

  • Serial收集器

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

  • ParNew收集器

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

  • Parallel Scavenge收集器

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

  • Serial Old 收集器

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

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

工作原理示意图如下:

  • CMS收集器

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

优点:

  1. 并发收集
  2. 低停顿

缺点:

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

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

优点:

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

 

本文发表于2018年02月10日 16:31
(c)注:本文转载自https://my.oschina.net/u/2313177/blog/1620968,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 1770 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1