Skip to content

JEP 291: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector | 弃用并发标记清除(CMS)垃圾收集器

摘要

计划废弃并停止在未来的主要版本中支持并发标记清除(CMS)垃圾收集器。

目标

加快 HotSpot 中其他垃圾收集器的开发。

动机

停止对 CMS 的支持,然后删除 CMS 代码,或者至少更彻底地隔离它,将减少 GC 代码库的维护负担并加速新的开发。从长远来看,G1 垃圾收集器旨在取代大多数 CMS 的用途。

描述

废弃 CMS,以便在通过命令行使用 -XX:+UseConcMarkSweepGC 选项请求时发出警告消息。

这个 JEP 没有指定停止支持 CMS 的主要版本。决定何时停止支持将受到 G1 收集器是否能够很好地替代 CMS 的程度所影响。与此同时,鼓励 CMS 用户迁移到 G1 收集器(-XX:+UseG1GC)。

测试

验证当请求 CMS 收集器时是否发出了预期的弃用消息。

风险和假设

  • 对于某些应用程序,CMS 非常合适,可能始终优于 G1。
  • 当结束对 CMS 的支持时,CMS 将不会在新版本中可用。