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 将不会出现在新版本中。