Java 23 的参考实现 JDK 23 现已可用。我们发布了 build 37 作为JDK 23 于 8 月 21 日发布,自此之后没有再报告过 P1 错误。
因此,Build 37 现在是 GA 版本,可以投入生产使用。
Oracle 提供的 GPL 许可的 OpenJDK 版本可在此处获取:
https://jdk.java.net/23
毫无疑问,其他供应商的版本很快就会上市。
此版本包含 12 个 JEP [1],其中包括 ZGC 的
默认模式转换为代际模式(474):
- 455:模式中的原始类型、instanceof 和 switch(预览)
- 466:Class-File API(第二个预览)
- 467:Markdown 文档注释
- 469:Vector API(第八孵化器)
- 473:溪流收集者(第二预览)
- 471:弃用 sun.misc.Unsafe 中的内存访问方法并删除
- 474:ZGC:默认的分代模式
- 476:模块导入声明(预览)
- 477:隐式声明的类和实例主方法(第三次预览)
- 480:结构化并发(第三次预览)
- 481:范围值(第三次预览)
- 482:灵活的构造函数主体(第二次预览)
与往常一样,此版本还包含数百项较小的增强功能并修复了数千个错误。
网友:
1、从新功能方面来看,这不是最有趣的版本,但却是向前迈出的重要一步,它将使我们更接近 Java 的新时代,即 Java 25
2、看起来唯一完成的功能是 markdown 评论,但显然还有很多东西正在筹备中。
3、默认采用分代 ZGC
4、此版本标志着 Valhalla 项目 10 年来没有发布任何 JEP。这真是一项伟大的成就!Vector API 已通过其第 8 个孵化器庆祝了这一成就!同时,Go 和 C# 从第一天起就支持值类型。
如果没有 Valhalla,Optional 就必须Box,这使其效率低于 Kotlin 的可空类型,并损害了 Java 中空安全性的采用。我正在认真考虑加入我团队中的 K 支持者小组,因为仍然没有任何迹象表明值类型会进入 JDK 24。
5、Kotlin 已经被 JDK21 模式匹配 + 密封类打败了,只是有的人还不知道。