Java 23 / JDK 23:全面上市


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 模式匹配 + 密封类打败了,只是有的人还不知道。