17611538698
webmaster@21cto.com

Java 28 开始成形

图片

21CTO 导读:Java 28 的更新计划出来了,Oracle 的研发团队或正在加速。

JDK 28 的开发和更新计划已经出炉。


其中,包括值对象、分代垃圾回收、严格的字段初始化、简化的 JSON API 以及加密对象的 PEM 编码。


此外,它还提出了提前代码编译的方案。


还有第六项特性,即提前(AOT)代码编译,已提议纳入JDK 28。

图片

Java开发工具包 28 是标准 Java 的一个非 LTS(长期支持)或“特性版本”,预计将于 2027 年 3 月发布。

根据该提案建议,代码提前编译能够使Java应用程序在Java虚拟机启动时立即获得优化的本地代码,从而缩短Java应用程序的启动和预热时间。

该提案的目标包括使应用程序能够更快地达到峰值性能,并使应用程序即使在工作负载发生变化时也能保持峰值性能,而无需对应用程序、库或框架的代码进行任何更改。

图片

那么,针对 JDK 28 提出的五项特性都包括哪些?汇总列表如下:

  • 引入 值对象(Value Objects),它们是不可变的,并且没有对象标识。值对象通过其字段的值来区分,JVM 可以采用一些能够提升性能的方式来表示它们。该特性的目标是为开发者提供一种用于不可变数据的编程模型,在该模型中, == 运算符以及所有其他操作都通过字段的值而不是对象标识来区分对象。值对象目前处于预览阶段。
  • 将Shenandoah 垃圾回收器 (Shenandoah GC)的默认模式切换为分代模式,弃用非分代模式,并计划在未来的版本中将其移除。此举旨在表明未来开发将专注于分代模式,并降低维护两种不同模式的成本。但目前暂无移除非分代模式的计划。
  • 在 JVM 中引入严格初始化字段。此类字段必须在读取之前进行初始化,因此不会出现默认值(例如 `null` 0 或 `  null null`)。对于 `final` 类型的严格初始化字段,其值始终保持不变。此举旨在为基于 JVM 的编程语言设计者提供一个字段初始化模型,该模型比现有模型具有更强的完整性保证。此功能目前处于预览阶段。
  • 引入一个简单的 JSON API,用于解析和生成 JSON 文档,从而无需依赖外部库。该功能目的是使许多 JSON 处理任务能够以最少的代码量完成。Java 平台将提供一种标准方法来处理JSON 数据交换格式,从而最大限度地简化操作。目前该项是一个孵化功能。
  • 为了降低维护成本,将弃用 macOS/x64 移植版本,并计划将其移除。由于苹果公司已将其硬件产品过渡到 AArch 64 处理器架构,并逐步停止对 x64 的支持,Oracle 的研发工程师将从 JDK 27 开始停止维护 macOS/x64 移植版本。计划在未来的 JDK 版本中移除该移植版本。
  • 引入加密对象的 PEM 编码。这是一个 API,用于将表示加密密钥、证书和证书吊销列表的对象编码为广泛使用的隐私增强邮件传输格式,以及将 PEM 格式解码回对象。


各位知道,JDK 28 的前身JDK 27 已经在 9 月 15 日发布。JDK 27 和 JDK 28 均为非 LTS (Non-LTS)版本,Oracle 将提供为时 6 个月的客户支持。

作者:万能的大雄

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信