JDK 23和JDK 24:目前已知的内容

JDK 23和JDK 24:目前已知的内容

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

JDK 23将于2024年9月17日正式发布,目前已进入第二个候选版本阶段。它包含了12个新功能,涵盖了核心Java库、Java语言规范、HotSpot和Java工具。一些值得注意的功能包括灵活的构造函数体、隐式声明的类和实例主方法、模块导入声明以及模式中的原始类型。JDK 24计划于2025年3月发布,可能包括限制JNI和Generational Shenandoah的使用等功能。其他潜在的功能包括值类和对象、类文件API、CDS对象流、PEM API以及HttpClient中对HTTP/3的支持。

🔎

延伸解读

JDK 23 发布流程与稳定性

JDK 23 已进入第二个候选版本阶段,主源码库于2024年6月初分叉到稳定仓库,进入 Rampdown 第一阶段。此后仅关键缺陷(如回归或严重功能问题)可经修复请求流程批准后修复。正式发布日期定为2024年9月17日。作为继 JDK 21 之后的第二个非 LTS 版本,其功能集已冻结,开发者可据此规划升级。

预览功能的迭代与反馈

JDK 23 中多个功能处于预览或孵化阶段,如灵活的构造函数体(第二轮预览)、隐式声明的类和实例主方法(第三轮预览)、作用域值(第三轮预览)、结构化并发(第三轮预览)以及向量 API(第八轮孵化)。这些功能通过多轮预览收集社区反馈,不断调整。例如,作用域值在第三轮预览中修改了 callWhere() 方法的操作参数,并移除了 getWhere() 方法。

字符串模板的撤回与影响

JEP 465 字符串模板在 JDK 21 和 JDK 22 两轮预览后,因未预见的问题被关闭并撤回。该功能原计划在 Java 语言中引入字符串模板,允许在字符串字面量中嵌入表达式并在运行时求值。撤回意味着开发者暂时无法使用该特性,需关注后续是否重新设计。相关原因可参考 Oracle 开发者倡导者 Nicolai Parlog 的博客和 Brian Goetz 的邮件。

JDK 24 的潜在功能与方向

JDK 24 计划于2025年3月发布,目前仅 JEP 472(准备限制 JNI 的使用)被正式目标化。其他候选和草案包括:JEP 404 分代 Shenandoah(实验性)、JEP 401 值类和对象(预览)、类文件 API、CDS 对象流、PEM API、HttpClient 支持 HTTP/3 以及稳定值(预览)。这些功能反映了 Java 在性能、安全性和易用性方面的持续演进。

❓

Q&A

JDK 23的正式发布日期是什么时候?

JDK 23将于2024年9月17日正式发布。

JDK 23包含哪些主要的新功能?

JDK 23包含12个新功能,分为核心Java库、Java语言规范、HotSpot和Java工具四个类别。

JEP 482灵活的构造函数体有什么特点?

JEP 482允许在构造函数中调用this()或super()之前出现不引用正在创建的实例的语句。

JDK 24计划包含哪些潜在的新功能?

JDK 24可能包括限制JNI的使用、值类和对象、类文件API、CDS对象流、PEM API以及对HTTP/3的支持等功能。

JEP 465字符串模板功能为何被撤回?

JEP 465因未预见的问题被关闭和撤回。

JDK 23和JDK 24的主要区别是什么?

JDK 23是即将发布的版本,包含12个新功能,而JDK 24计划于2025年发布,尚在讨论潜在的新功能。

🏷️

标签

➡️

继续阅读