跳到主要内容

JEP 291:弃用并发标记扫描 (CMS) 垃圾收集器

概括

弃用并发标记扫描 (CMS) 垃圾收集器,并打算在未来的主要版本中停止支持它。

目标

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

动机

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

描述

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

此 JEP 未指定将删除对 CMS 的支持的主要版本。何时执行此操作的决定将取决于 G1 收集器在多大程度上被证明是 CMS 的合适替代品。同时,鼓励 CMS 用户迁移到 G1 收集器 ( -XX:+UseG1GC)。

测试

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

风险和假设

  • 对于某些应用程序,CMS 非常适合,并且可能总是优于 G1。

  • 对 CMS 的支持终止后,新版本中将不再提供 CMS。