在2017年4月10日的文章“ Java垃圾收集器:G1GC何时将CMS强制退出? ”,我讨论了JEP 291 (“弃用并发标记扫描(CMS)垃圾收集器”),并提供了一些赞成和反对弃用(并最终淘汰) 并发标记扫描 (CMS) 垃圾收集器 (GC)的反馈摘要。 本月初,一个名为“ 删除并发标记扫描垃圾收集器 ”的JEP 草案已创建。

该JEP草案的“摘要”部分指出:“从可用的垃圾收集算法集中删除并发标记扫描(CMS)垃圾收集器。” 尽管此JEP的“草稿”状态意味着它不针对任何特定发行版,但“非目标”部分向我们保证,JEP草案并不打算在删除CMS的发行版之前从任何发行版中删除CMS。 帖子“ RFC:JEP:删除并发标记扫描垃圾收集器 ”指出,当前计划是针对JDK 14的 CMS删除。

JEP草案在“风险和假设”部分中指出,如果另一个“社区中感兴趣的可信贡献者将加紧维护,则可能撤回删除CMS GC的草案”。 但是,自JEP 291弃用CMS以来的2年多时间里,没有这样的“感兴趣的可靠贡献者”提出要维护CMS。 Thomas Schatzl的与此JEP相关的帖子对此进行了更好的描述:


社区中始终可以选择组织CMS维护,但是没有人甚至开始着手解决长期存在的已知小问题CMS(以使贡献者了解CMS代码并让我们有信心这些人可以接管这么大的组件的维护)。

删除CMS的JEP草案专门提到了三个建议的替代垃圾收集器:现在默认的垃圾优先(G1) , Oracle提供的 ZGC和Red Hat提供的 Shenandoah 。

在审查JEP 291时,有很多反对弃用CMS的意见,现在也有完全删除CMS的意见。 柯克·佩珀代因(Kirk Pepperdine ) 写道 ,他和其他人已经注意到“ CMS开销远不及G1所能看到的水平”,他们“现在建议客户考虑使用并行GC,因为它提供了比G1更好的体验。”

在即将发布的JDK版本中(甚至早在JDK 14中),CMS可能会作为垃圾回收选项被删除。 正如Kirk Pepperdine在有关该主题的另一篇文章中表示的:“归根结底,如果我们想要CMS,我们将不得不加紧努力,并为此做些事情。” 到目前为止,似乎还没有人急需CMS来做些什么(这可能包括与他们首选的JDK提供者合作,以使其在该提供者的JDK中得到支持)。

翻译自: https://www.javacodegeeks.com/2019/08/draft-jep-remove-deprecated-cms-garbage-collector.html

删除已弃用的CMS垃圾收集器的JEP草案相关推荐

  1. CMS垃圾收集器详解

    概述 CMS垃圾收集器是一款优秀的老年代并发垃圾收集器,通过与用户线程并发执行的方式减少GC停顿的时间.本文主要聊一下CMS设计到的相关的数据结构.具体的执行过程.运行中会出现的异常情况. 在CMS之 ...

  2. CMS垃圾收集器和G1垃圾收集器

    CMS CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的老年代收集器.CMS收集器与之前的垃圾收集器最大的特点就是它可以并发清除垃圾. 他的工作流程如下: ...

  3. 0 full gc时cpu idle_结合GC日志讲讲CMS垃圾收集器

    1 CMS垃圾收集器介绍 CMS(Concurrent Mark Sweep)收集器旨在获取最短回收停顿时间的并发垃圾收集器.CMS基于"标记-清除"算法实现,并发指的是CMS的垃 ...

  4. CMS垃圾收集器详解(转载)

    文章目录 概念 CMS的GC过程 初始标记 并发标记 并发预处理 重新标记 并发清除 CMS的缺点 总结: 概念 CMS全称为Concurrent Mark Sweep,即 并发标记清除,对比其他的收 ...

  5. 面试官:今天还是来聊聊CMS垃圾收集器呗?

    面试官:今天还是来聊聊CMS垃圾收集器呗? 候选者:嗯啊- 候选者:如果用Seria和Parallel系列的垃圾收集器:在垃圾回收的时,用户线程都会完全停止,直至垃圾回收结束! 候选者:CMS的全称: ...

  6. 垃圾收集器总结--CMS垃圾收集器

    目录 一.CMS 1.1 概述 1.2 内存碎片 1.3 浮动垃圾 1.4 空间预留 1.4 Promotion Failed和Concurrent Mode Failure 1.5 常用参数 二.总 ...

  7. 【深入理解JVM】CMS垃圾收集器

    GC 问题处理能力能不能系统性掌握?一些影响因素都是互为因果的问题该怎么分析?比如一个服务 RT 突然上涨,有 GC 耗时增大.线程 Block 增多.慢查询增多.CPU 负载高四个表象,到底哪个是诱 ...

  8. 【面试高频题】CMS垃圾收集器是如何工作的?

    CMS全称 Concurrent Mark Sweep,是一款并发的.使用标记-清除算法的垃圾回收器,以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器,对于要求服务器响应速度的应用上,这种垃圾回收 ...

  9. java1.8垃圾回收机制_1.8 CMS垃圾收集器

    最近在整理JVM相关的PPT,把CMS算法又过了一遍,每次阅读源码都能多了解一点,继续坚持. 什么是CMS CMS全称 ConcurrentMarkSweep,是一款并发的.使用标记-清除算法的垃圾回 ...

最新文章

  1. There was a problem confirming the ssl certificate ……
  2. 0x55. 动态规划 - 环形与后效性处理(例题详解 × 6)
  3. 图片旋转对于识别模式带来的变化
  4. [Java]Stack栈和Heap堆的区别(终结篇)[转]
  5. yii blog页面不能正确显示js,css文件的原因分析
  6. 注册/找回密码等功能中发送手机验证码后倒计时效果的实现(基于vue)
  7. Android -- PullToRefresh应用
  8. ThinkPHP3.2.3快速入门 · 看云
  9. [转]宝文!Apple Push Notification Service (APNS)原理与实现方案
  10. cad2006安装未找到html文件,启动 AutoCAD 时显示“加载自定义文件失败。未找到文件”...
  11. java的简单算法题_[2]十道算法题【Java实现】
  12. java笔试之计算n x m的棋盘格子
  13. bzoj 4514: [Sdoi2016]数字配对(二分图+费用最大流)
  14. Hadoop2.4.1(QJM HA)+HBASE0.98 双MASTER问题分析
  15. turbo c语言教程,C语言入门教程之 Turbo C程序的基本组成
  16. arduino pro mini 迷你 ATmega328P 程序下载 usb-ttl reset
  17. C# 利用iTextSharp画PDF
  18. 【笔记】WGS84转GCj02
  19. 【HTML5】input标签中的Require必填项
  20. 个税计算器 / 微信小程序开发

热门文章

  1. jzoj2152-终极数【堆】
  2. 【Manacher】【贪心】字符串连接(金牌导航 Manacher-4)
  3. 2017西安交大ACM小学期数论 [水题]
  4. L3-002 堆栈 树状数组+二分答案
  5. 常用公有云接入——谷歌
  6. 分布式架构--基本思想汇总
  7. Maven精选系列--标准目录结构
  8. nginx配置前端反向代理
  9. 《金色梦乡》金句摘抄(十一)
  10. 《四世同堂》金句摘抄(十八)