jdk8 cms g1gc
JDK 14 Early Access Build#23 ( 2019/11/13 ) 现已上市 。 此版本最值得注意的更改之一是删除了并发标记扫描垃圾收集器 。 JEP 291 [“弃用并发标记扫描(CMS)垃圾收集器”]早在2017年就使用JDK 9和JEP 363 [“删除并发标记扫描(CMS)垃圾收集器”) 弃用了 JDK 14的目标是完全删除CMS垃圾收集器。
下一个屏幕快照展示了JDK 14 Early Access Build#22仍可使用CMS垃圾收集器。
![](https://i-blog.csdnimg.cn/blog_migrate/8ca166675d0ff47f9ef76bca812304d5.png)
使用该JDK 14 Early Access Build#22 ,我们看到允许指定-XX:+UseConcMarkSweepGC
且仅显示弃用警告:“ 选项UseConcMarkSweepGC在9.0版中已弃用,并且可能在以后的版本中删除。 “
下一个屏幕快照展示了从JDK 14 Early Access Build#23开始,不能将CMS指定为垃圾收集器:
![](https://i-blog.csdnimg.cn/blog_migrate/b86376e81f26edbc987566c91b2f21a2.png)
当尝试使用-XX:+UseConcMarkSweepGC
运行Java应用程序时,错误消息现在显示为:“ 忽略选项UseConcMarkSweepGC; 在“ 14.0 ” 中删除了支持 。
尽管删除CMS垃圾收集器是我在JDK 14 Early Access Build#23中注意到的最大更改,但我发现其他一些更改有些有趣。 这些包括:
- JDK-8226297 : 双轴 快速排序改进
- 错误报告中详尽的更改列表。
- JDK-8232684 : 使开关表达式为最终表达式
- JDK-8233884 : 避免在安全性库中查找标准字符集
- 提醒您利用StandardCharsets类中定义为
public
字段的常量。
- 提醒您利用StandardCharsets类中定义为
翻译自: https://www.javacodegeeks.com/2019/11/jdk-14-cms-gc-is-obe.html
jdk8 cms g1gc