JDK 23 和 JDK 24:目前我们所了解的情况

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 语言规范HotSpotJava 工具

核心 Java 库

  1. JEP 466: Class-File API(第二次预览)
  2. JEP 469: Vector API(第八次孵化)
  3. JEP 471: 弃用 sun.misc.Unsafe 中的内存访问方法
  4. JEP 473: Stream Gatherers(第二次预览)
  5. JEP 480: 结构化并发(第三次预览)
  6. JEP 481: 作用域值(第三次预览)

Java 语言规范

  1. JEP 455: 原始类型在模式匹配、instanceof 和 switch 中的使用(预览)
  2. JEP 476: 模块导入声明(预览)
  3. JEP 477: 隐式声明类和实例主方法(第三次预览)
  4. JEP 482: 灵活的构造函数体(第二次预览)

HotSpot

  1. JEP 474: ZGC:默认启用分代模式

Java 工具

  1. 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 中发布。

阅读 99
0 条评论