JVM垃圾收集器(二) —— 新生代垃圾收集器

标签: JVM
46人阅读 评论(0) 收藏 举报
分类:

在看本文之前,建议先去了解一下几个概念先再来看下文哈,大牛请忽略,哈哈~

所有收集器概括图

下面先给大家看一下所有收集器及其关联的示意图,然后我们再对每个回收器进行讲解:
这里写图片描述
★★★ 注意:如果两个收集器之间存在连线,就说明它们可以搭配使用


Serial收集器

1、特点:一个单线程的收集器;且运行时必须暂停其他所有的工作线程,直到它收集结束

2、虚拟机运行在Client模式下的默认新生代收集器

3、优点:简单而高效(与其他收集器的单线程比),对于限定单个CPU的环境来说,Serial收集器由于没有线程交互的开销,专心做垃圾收集自然可以获得最高的单线程收集效率。

4、缺点:需要停止用户线程,也就是传说中的 “Stop The World”

5、Serial / Serial Old 收集器运行示意图:
这里写图片描述
注:上面的 “/” 表示的是新生代和老年代分别采用的是什么收集器哈,下面的图也是一样,Serial Old下面会讲,这里注意一下哈~


ParNew收集器

1、特点:ParNew收集器其实就是Serial收集器的多线程版本,只能在新生代中用~

2、优缺点:和Serial收集器时一样的~

3、许多运行在Server模式下的虚拟机中首选的新生代收集器

4、注意的点:该收集器默认的并行度和CPU数量相同

5、ParNew / Serial Old收集器运行示意图:
这里写图片描述


Parallel Scavenge收集器

1、特点:和ParNew收集器一样,该收集器是在新生代的,也是并行的,也是采用 复制算法

2、和ParNew收集器的区别:Parallel Scavenge收集器的目标则是达到一个可控制的吞吐量(Throughput)。
所谓吞吐量就是CPU用于运行用户代码的时间与CPU总消耗时间的比值,即吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间)。
假如虚拟机总共运行了100分钟,其中垃圾收集花掉1分钟,那吞吐量就是99%。

3、说明:停顿时间越短就越适合需要与用户交互的程序,良好的响应速度能提升用户体验
高吞吐量则可以高效率地利用CPU时间,尽快完成程序的运算任务,主要适合在后台运算而不需要太多交互的任务。


本文的内容和图片参考自:《深入理解Java虚拟机:JVM高级特性与最佳实践》

查看评论

java虚拟机的垃圾收集器之新生代收集器

hotspot虚拟机的收集器hotspot垃圾收集器主要有七种:如图所示: 图中上面部分是新生代的垃圾收集器,下面部分表示老年代的垃圾收集器,两个垃圾收集器的之间的连线表示两个收集器搭配使用。s...
  • LZH984294471
  • LZH984294471
  • 2016-06-28 10:25:56
  • 800

JVM笔记3:Java垃圾收集算法与垃圾收集器

当前商业虚拟机的垃圾收集都采用“分代收集”算法,即根据对象生命周期的不同,将内存划分几块,一般为新生代和老年代,不同的代根据其特点使用不同的垃圾收集算法,主要的垃圾回收算法有:一,标记-清除算法 二,...
  • a19881029
  • a19881029
  • 2013-10-22 09:37:17
  • 3070

JVMGC——垃圾收集器的分类

垃圾收集器是垃圾回收算法的体现 JVM中垃圾收集器分为三类: 1.串行收集器       2.并行收集器      3.并发收集器 串行收集器 用单线程处理所有垃圾回收工作,因此无需多线程交互...
  • hqq2023623
  • hqq2023623
  • 2016-03-27 18:55:42
  • 539

jvm默认垃圾收集器789

jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代) jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Paralle...
  • luoliang1024
  • luoliang1024
  • 2018-01-05 20:37:03
  • 762

Jvm垃圾回收器详细

1, 串行回收器1.1, 新生代串行回收器 (1)特点:   –它仅仅使用单线程进行垃圾回收   –它是独占式的垃圾回收   –进行垃圾回收时, Java应用程序中的线程都需要暂...
  • lghuntfor
  • lghuntfor
  • 2016-04-03 23:33:12
  • 5813

深入理解JVM之四:详解垃圾收集器

前言前面已经对垃圾收集算法有了较为详细的介绍,这里我们将对JVM中具体的垃圾回收器进行介绍,在虚拟机规范中并没有对垃圾回收器如何实现具体介绍,因此每个厂商的垃圾回收器可能会完全不同,但是我们介绍的是基...
  • u011116672
  • u011116672
  • 2016-03-27 21:39:24
  • 2903

jvm垃圾收集器配置-1

-XX:+UseSerialGC 开启单线程、Stop-The-World的新生代和老年代垃圾收集器。它是jvm中最古老而且最成熟的垃圾收集器,一般来说,只有在客户端java程序的时候才会使用该垃圾收...
  • f529352479
  • f529352479
  • 2016-07-10 22:22:44
  • 577

垃圾收集器的种类及原理

1、Serial收集器:古老的单线程收集器,作用于新生代。单线程的意义并非仅仅是只使用一条线程进行垃圾回收,更重要的是,在进行垃圾回收的时候,必须暂停其他所有的工作线程,因此,用户体验很不好。单实际上...
  • yanqiaoli
  • yanqiaoli
  • 2017-03-17 17:09:29
  • 790

垃圾收集器参数总结

垃圾收集器参数总结 -XX:+ 启用选项 -XX:- 不启用选项 -XX:=  -XX:=   参数 描述 -XX:+UseSerialGC J...
  • huxian1234
  • huxian1234
  • 2013-12-06 10:50:43
  • 1129

查看JVM使用的什么垃圾收集器

查看JVM使用的什么垃圾收集器
  • earthhour
  • earthhour
  • 2017-07-31 20:26:32
  • 3541
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 1万+
    积分: 615
    排名: 8万+
    博客专栏
    最新评论