博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转Serial,Parallel,CMS,G1四大GC收集器特点小结
阅读量:5281 次
发布时间:2019-06-14

本文共 718 字,大约阅读时间需要 2 分钟。

转 https://blog.csdn.net/u013812939/article/details/48782343

 

1.Serial收集器

一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。
特点:CPU利用率最高,停顿时间即用户等待时间比较长。
适用场景:小型应用
通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。

2.Parallel收集器

采用多线程来通过扫描并压缩堆
特点:停顿时间短,回收效率高,对吞吐量要求高。
适用场景:大型应用,科学计算,大规模数据采集等。
通过JVM参数 XX:+USeParNewGC 打开并发标记扫描垃圾回收器。

3.CMS收集器

采用“标记-清除”算法实现,使用多线程的算法去扫描堆,对发现未使用的对象进行回收。
(1)初始标记
(2)并发标记
(3)并发预处理
(4)重新标记
(5)并发清除
(6)并发重置
特点:响应时间优先,减少垃圾收集停顿时间
适应场景:服务器、电信领域等。
通过JVM参数 -XX:+UseConcMarkSweepGC设置

4.G1收集器

在G1中,堆被划分成 许多个连续的区域(region)。采用G1算法进行回收,吸收了CMS收集器特点。
特点:支持很大的堆,高吞吐量
--支持多CPU和垃圾回收线程
--在主线程暂停的情况下,使用并行收集
--在主线程运行的情况下,使用并发收集
实时目标:可配置在N毫秒内最多只占用M毫秒的时间进行垃圾回收
通过JVM参数 –XX:+UseG1GC 使用G1垃圾回收器

 

转载于:https://www.cnblogs.com/mytzq/p/11120295.html

你可能感兴趣的文章
Go之包
查看>>
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q40-Q44)
查看>>
TCP和UDP协议的区别
查看>>
【UML】:时序图
查看>>
【POJ】2348 Euclid's Game(扩欧)
查看>>
const type& 与 type& 的区别
查看>>
JDK中工具类的使用
查看>>
MetaSploit攻击实例讲解------社会工程学set攻击(kali linux 2016.2(rolling))(详细)...
查看>>
Lucene3.6第一篇--创建索引
查看>>
代理服务器
查看>>
一些可能用得到软件
查看>>
NHibernate系列文章二:创建NHibernate工程
查看>>
跳跃的杰克(51nod 1615)
查看>>
php while循环 指定显示内容 例如不想显示前10条和后10条
查看>>
mongodb导入json文件(WINDOWS)
查看>>
Legal or Not (拓扑排序判环)
查看>>
构造方法调用顺序
查看>>
Xcode 10 打包 运行在iOS9上崩溃
查看>>
codeforces A. Supercentral Point 题解
查看>>
mac 80端口映射 配置
查看>>