JDK 23 概述
JDK 23 是自 JDK 21 以来的第二个非长期支持(non-LTS)版本,目前已进入第二个发布候选阶段。Oracle Java 平台组首席架构师 Mark Reinhold 宣布,JDK 23 将于 2024 年 9 月 17 日正式发布。该版本的主要功能集已在 2024 年 6 月初从主线代码库分叉到 JDK 稳定化代码库中,关键 bug 修复需通过 Fix-Request 流程批准。
新功能分类
JDK 23 引入了 12 项新功能,分为四大类:核心 Java 库、Java 语言规范、HotSpot 和 Java 工具。
核心 Java 库
- JEP 466: Class-File API(第二次预览)
- JEP 469: Vector API(第八次孵化)
- JEP 471: 弃用 sun.misc.Unsafe 中的内存访问方法
- JEP 473: Stream Gatherers(第二次预览)
- JEP 480: 结构化并发(第三次预览)
- JEP 481: 作用域值(第三次预览)
Java 语言规范
- JEP 455: 原始类型在模式匹配、instanceof 和 switch 中的使用(预览)
- JEP 476: 模块导入声明(预览)
- JEP 477: 隐式声明类和实例主方法(第三次预览)
- JEP 482: 灵活的构造函数体(第二次预览)
HotSpot
- JEP 474: ZGC:默认启用分代模式
Java 工具
- JEP 467: Markdown 文档注释
项目 Amber
- JEP 482: 灵活的构造函数体(第二次预览),允许在
this()
或super()
调用之前插入不引用实例的语句。 - JEP 477: 隐式声明类和实例主方法(第三次预览),旨在简化 Java 初学者的学习曲线。
- JEP 476: 模块导入声明(预览),简化模块化库的重用。
- JEP 455: 原始类型在模式匹配、instanceof 和 switch 中的使用(预览),扩展了模式匹配的功能。
项目 Loom
- JEP 481: 作用域值(第三次预览),支持在虚拟线程中共享不可变数据。
- JEP 480: 结构化并发(第三次预览),简化并发编程中的错误处理和取消操作。
项目 Panama
- JEP 469: Vector API(第八次孵化),继续孵化,等待 Project Valhalla 的功能成为预览特性。
其他更新
- JEP 465: 字符串模板(第三次预览)已被撤回,原因是发现了一些未预见的问题。
JDK 24 展望
JDK 24 计划于 2025 年 3 月发布,目前已确定的功能包括:
- JEP 472: 限制 JNI 的使用,逐步从警告过渡到抛出异常。
- JEP 404: 分代 Shenandoah(实验性),目标在 JDK 24 中发布。
- JEP 401: 值类和对象(预览),引入开发者声明的原始类。
此外,多个 JEP 草案正在讨论中,包括 Class-File API、CDS 对象流、PEM API、HTTP/3 支持等,预计这些功能可能会在 JDK 24 中发布。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。