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

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

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/bootdo/p/10496599.html

你可能感兴趣的文章
C# Random 生成不重复随机数
查看>>
推荐一些好的linux学习网站
查看>>
setInterval() 方法应用
查看>>
WPF(命令参数)
查看>>
iOS MVVM 前世今生
查看>>
tomcat 安全文件夹(Java之负基础实战)
查看>>
IO---Java 文件复制
查看>>
BeanShell用法(摘抄至网络)
查看>>
Monkey工具使用详解
查看>>
sqlmap注入工具----一次简单的注入(实战)
查看>>
封装cookie localStorage sessionStorage
查看>>
struts系列:返回json格式的响应
查看>>
为什么zookeeper的节点配置的个数必须是奇数个?
查看>>
PDF 补丁丁 0.4.1.839 测试版发布:调整页面留白
查看>>
Proxy
查看>>
JMeter源码导入到Intellij IDEA
查看>>
浅谈String中的==和对象中引用对象类型的==
查看>>
ASP.NET-FineUI开发实践-17
查看>>
webkit.net开发时的注意事项
查看>>
防止用户按浏览器后退按钮回到登陆页面
查看>>