2019独角兽企业重金招聘Python工程师标准>>>

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

Serial,Parallel,CMS,G1四大GC收集器特点小结相关推荐

  1. HotSpot VM垃圾收集器——Serial Parallel CMS G1垃圾收集器的JVM参数、使用说明、GC分析

    目录 HotspotVM的垃圾收集器简介 1. Serial Collector 2. Parallel Collector(throughput collector) 3. Concurrent M ...

  2. 深入JVM虚拟机(四) Java GC收集器

    转载自  深入JVM虚拟机(四) Java GC收集器 1 GC收集器 1.1 Serial串行收集器 串行收集器主要有两个特点:第一,它仅仅使用单线程进行垃圾回收:第二,它独占式的垃圾回收. 在串行 ...

  3. jvm系列二之GC收集器

    目录 参考 概念理解 并发和并行 吞吐量 GC垃圾收集器 Serial New收集器 Parallel New(并行)收集器 Parallel Scavenge(并行)收集器 Serial Old(串 ...

  4. JVM总结(四)GC收集器以及JDK7,JDK8中JVM内存变化

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来. GC收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存 ...

  5. JVM的GC回收算法、GC收集器以及内存分配策略

    目录 •写在前面 •标记-清除算法 •复制算法 •标记-整理算法 •HotSpot上的算法实现保障 •GC收集器 •内存分配策略 •写在前面 JVM的垃圾回收算法.收集器以及内存分配策略放在一起了解和 ...

  6. 深入理解java虚拟机gc_jvm GC收集器与内存分配(深入理解java虚拟机第三章)

    jvm GC收集器与内存分配(深入理解java虚拟机第三章) 本篇是<深入理解java虚拟机第三章>的笔记记录. 一 为什么要关注GC和内存分配? 需要排查各种内存溢出.内存泄漏问题时,或 ...

  7. HotSpot VM GC收集器的易混淆的名称问题

    最近分析HotSpot VM GC日志,就各种收集器的名称搞晕掉了,幸好参考R大(RednaxelaFX )一些回复和文章.整理在此文,以方便自已日后查阅,也可让有需要的同学少走弯路,追本溯源,一切从 ...

  8. 研究了 2 天,终于知道 JDK 8 默认 GC 收集器了!

    JDK 8 到底默认用的是哪款 GC 收集器? 为啥是 JDK8?不是 9 也不是 10?因为 JDK8 还是市场占有率最高的,所以针对这个版本我做了深入的探索. <深入理解 Java 虚拟机& ...

  9. 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS 并发标记清除收集器 )

    文章目录 一. 分代收集算法 二. 垃圾回收器 / 收集器 ( GC ) 三. 串行收集器 ( Serial ) 四. ParNew 收集器 五. Parallel Scavenge 收集器 六. C ...

最新文章

  1. 解读main()方法中的String[] args
  2. Python基础数据类型之字符串(一)
  3. DNS原理及简单配置
  4. .Net Core实现的文档数据库RavenDb
  5. This document is opened by another project error message
  6. 【转】4.2SharePoint服务器端对象模型 之 使用CAML进行数据查询(Part 2)
  7. Galaxy Note 20新爆料:至少有两款机型,处理器高低配
  8. 本地Git仓库关联Github项目
  9. 蓝桥杯led流水灯实现(38译码器和锁存器的使用)
  10. 一个漂亮的电子数字字体分享electronicFont
  11. 电脑未安装任何音频设备解决办法
  12. Android OTA 差分包制作
  13. 计算机远程怎么设置路由器,路由器远程登录设置方法
  14. 科学院计算机研究所谢教授,谢维波
  15. JavaScript图标移动小案例
  16. 网络广告中各种广告形式
  17. 5x2cv配对t检验(5x2cv paired t test)
  18. Flutter 使用 ESC/POS蓝牙或以太网库控制热敏打印机
  19. HECTF 部分wp
  20. 无线射频专题《射频基础,射频特征,波长,频率,振幅,相位》

热门文章

  1. 小知识~LocalDB在IIS上如何成功配置
  2. 网络安全系列之五十 对Web主目录进行备份
  3. 离ExtJS 4.1 beta发布只剩26个bug了
  4. 从零开始学习jQuery (六) AJAX快餐【转】
  5. Shell 下记录程序运行时间
  6. 企业IT运维管理的发展有章可寻
  7. js_高级_表格排序案例---分别用面向过程和面向对象实现
  8. LINUX CentOS7安装字体库
  9. 23个MySQL常用查询语句
  10. 2月第二周.COM增近12万 ×××域名.XXX减122个