04_垃圾回收器

Posted HigginCui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04_垃圾回收器相关的知识,希望对你有一定的参考价值。

【简述】

在Java虚拟机中,垃圾回收器不仅仅只有一种,什么情况下该使用哪种,对性能又有什么样的影响,这都是我们需要了解的。

主要的垃圾回收器有这么几种:

1.串行垃圾回收器

2.并行垃圾回收器

3.CMS回收器

4.G1回收器

 

【串行垃圾回收器】

串行回收器是指使用单线程进行垃圾回收的回收器,每次回收时,串行回收器只有一个工作线程,对于并行能力较弱的计算机来说,串行回收器的专注性和独占性往往有更好的性能表现,串行回收器可以在新生代和老年代使用,根据作用域不同的堆空间,分为新生代串行回收器和老年代串行回收器。

-XX:+UseSerialGC  参数可以设置使用新生代串行回收器和老年代串行回收器。

 

【并行回收器(ParNew回收器)】

并行回收器在串行回收器基础上做了改进,它可以使用多个线程同时进行垃圾回收,对于计算能力强的计算机而言,可以有效缩短垃圾回收所需要的实际时间。

ParNew回收器是一个工作在新生代的垃圾回收器,它只是简单的将串行回收器多线程化,它的回收策略和算法与串行回收器一样。

-XX:+UseParNewGC新生代ParNew回收器,老年代则使用串行回收器。ParNew回收器工作时的线程数量可以使用 -XX:ParallelGCThreads参数指定,一般最好和计算机的CPU相当,避免过多的线程影响性能。

 

以上是关于04_垃圾回收器的主要内容,如果未能解决你的问题,请参考以下文章

17_3_垃圾回收器_日志分析和垃圾回收器的发展

17_1_垃圾回收器_GC分类与性能指标概述SerialParNewParallelCMS面试

JVM04——垃圾回收器和回收算法

Java千百问_07JVM架构(011)_java垃圾回收都有哪些方式

js基础_垃圾回收

python-垃圾回收机制