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

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

hot3.png

输入图片说明

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://my.oschina.net/u/3421984/blog/1609865

你可能感兴趣的文章
CentOS 7升级内核
查看>>
下载上传文件命令rz和sz
查看>>
Mysql安装:/bin/rm: cannot remove `libtoolt': No such file or directory
查看>>
夜已深,为何身体没有困意!
查看>>
孙子兵法
查看>>
MAC使用技巧之苹果电脑新手最容易犯的20个错误
查看>>
vm虚拟机安装系统后出现operating system not found解决办法(VM装ghost 不能进系统的解决方法)...
查看>>
二进制安装 MySQL 格式待整理
查看>>
按时按登录IP记录Linux所有用户操作日志的方法(附脚本)
查看>>
JAVA中的标记接口
查看>>
ERP英文常见缩写
查看>>
优秀博文汇总
查看>>
MapReduce Application中mapper的数目和分片的数目
查看>>
Intellij IDEA神器常用技巧四-类和方法注释模板设置
查看>>
border-redius的妙处
查看>>
工程师向你展示手机加速度传感器如何工作,有影片辅助说明
查看>>
python urllib2详解及实例
查看>>
elasticsearch安装配置
查看>>
项目经验总结-Eclipse图表工具Birt的使用技巧(二)
查看>>
C语言中的const详细介绍
查看>>