马克· 雷因霍尔德( Mark Reinhold)最近的帖子“ JDK 14现在处于Rampdown第一阶段 ”宣布“我们现在处于Rampdown第一阶段”,并且“整体功能已冻结”。 JDK 14 Early Access Build #27(2019/12/12)是一个繁重的构建。 在本文中,我总结了一些与JDK 14 Early Access Build 27相关的更改,这些更改对我来说特别有趣。
有人会说JDK 14 Early Access Build 27是“ 记录构建” 。 此版本中包含与记录预览功能( JEP 359 )的实现相关的更新。 以下是与此“记录构建”相关的一些更改,这些更改填充了JEP 359实现更改 (请注意,已经为记录编写并修复了错误):
- JEP 359 JDK-8222777 :记录(预览)
- 子任务JDK-8227113 :java.lang.Record的规范
- 子任务JDK-8225053 :记录的预览API支持
- 子任务JDK-8233526 :JVM对记录的支持
- 子任务JDK-8225054 :记录的编译器实现
- 子任务JDK-8225057 :记录的Java语言规范更改
- 子任务JDK-8225058 :记录的JVM规范更改
- 子任务JDK-8225055 :用于记录的Javadoc
- 子任务JDK-8225052 :对记录的javax.lang.model支持
- 子任务JDK-8226314 :com.sun.source对记录的支持
- 增强功能JDK-8235359 :简化方法Class.getRecordComponents()
- 错误JDK-8235550 :澄清记录反射支持规范
- 错误JDK-8235369 :需要更新Class.toGenericString以进行记录
- 错误JDK-8235446 :对于没有括号的记录,出现令人困惑的错误消息
- 错误JDK-8234101 :在记录组件上使用重复注释时引发编译错误
- 错误JDK-8235474 :JShell无法正确处理记录
尽管在JDK 14 Early Access Build 27中,JEP 359 / Records(预览)可能会引起许多Java开发人员的兴趣,但此处总结了此构建中的其他有趣变化(带有指向更多详细信息的链接以及更改描述中的引用) :
- 增强功能JDK-8215038 :添加列出所有系统属性的页面
- “列出所有系统属性的新页面”
- 增强功能JDK-8235334 :弃用jcmd GC.class_stats
- “这个jcmd GC.class_stats的输出很长,不适合理解元空间对象使用的内存,也不是特定于GC的工具。
- 增强功能JDK-8222756:CompactNumberFormat中的多个支持
- 更改了ContactNumberFormat对德语和意大利语的复数的支持
- 子任务JDK-8234542 :删除Pack200工具和API
- 与JEP 367 (“删除Pack200工具和API”)[ JDK-8232022 ]相关联。
- 增强功能JDK-8234370 :JEP 362的实现:弃用Solaris和SPARC端口
- 与JEP 362相关联 (“弃用Solaris和SPARC端口”)[ JDK-8231554 ]
- 子任务JDK-8233319 :弃用在java.net.InetAddress上运行的MulticastSocket方法
- 关联的CSR JDK-8235330 (“弃用在java.net.InetAddress上运行的MulticastSocket方法”)指出,将不赞成使用类java.net.MulticastSocket上的以下方法(但尚未删除,并且每个方法都显示了更优的选择):
除了我上面提到的更改之外,与JDK 14 Early Access Build 27相关的其他更改包括对许多JDK 14生成中具有更改的区域的更改( Shenandoah垃圾收集器 , Z垃圾收集器 [ZGC], Java Flight Recorder和Java打包工具 )。
JDK 14 Early Access Build 27 发行说明指出:“ SSLv2Hello和SSLv3已从默认启用的TLS协议中删除。” 发行说明中补充说:“如果客户端或服务器仍需要使用SSLv3协议,则可以通过jdk.tls.client.protocols或jdk.tls.server.protocols系统属性或通过SSLSocket.setEnabledProtocols启用它来实现。 () , SSLServerSocket.setEnabledProtocols()和SSLEngine.setEnabledProtocols() API。”
我对Java 14中的Records感到很兴奋,并期待通过OpenJDK 14 Early Access Build 27与它们一起使用。
翻译自: https://www.javacodegeeks.com/2020/01/jdk-14-rampdown-build-27.html