JDK 20 和 JDK 21:目前我们所知道的

JDK 20 概述

JDK 20 是自 JDK 17 以来的第三个非长期支持(LTS)版本,已进入初始候选发布阶段。该版本的主要功能集在 2022 年 12 月中旬(Rampdown 第一阶段)从主线源代码库分叉到 JDK 稳定化仓库中。JDK 20 计划于 2023 年 3 月 21 日正式发布。

新功能分类

JDK 20 包含七个新功能,分为两大类:核心 Java 库Java 规范

核心 Java 库

  1. JEP 429: 范围值(孵化器)
    该功能旨在实现线程内和跨线程的不可变数据共享,特别适用于使用大量虚拟线程的场景。
  2. JEP 434: 外部函数与内存 API(第二次预览)
    该 API 允许 Java 应用程序与 Java 运行时之外的代码和数据互操作,高效调用外部函数并安全访问不受 JVM 管理的外部内存。
  3. JEP 436: 虚拟线程(第二次预览)
    该功能提供了轻量级线程,显著减少了编写、维护和观察高吞吐量并发应用程序的负担。
  4. JEP 437: 结构化并发(第二次孵化器)
    该功能旨在简化多线程编程,将运行在不同线程中的多个任务视为单个工作单元,从而简化错误处理、取消操作,并提高可靠性和可观察性。
  5. JEP 438: 向量 API(第五次孵化器)
    该功能增强了向量 API,使其能够从内存段加载和存储向量。

Java 规范

  1. JEP 432: 记录模式(第二次预览)
    该功能增强了记录模式,允许解构记录值,并与类型模式结合使用,提供强大的数据导航和处理能力。
  2. JEP 433: switch 的模式匹配(第四次预览)
    该功能简化了 switch 标签的语法,并支持在 switch 表达式和语句中推断泛型类型参数和记录模式。

主要项目关联

这些新功能与四个主要的 Java 项目相关:AmberLoomPanamaValhalla

  1. Project Amber
    专注于语言改进,包括记录模式和 switch 的模式匹配。
  2. Project Loom
    专注于简化并发编程,包括范围值、虚拟线程和结构化并发。
  3. Project Panama
    专注于与外部代码和数据的互操作,包括外部函数与内存 API 和向量 API。

JDK 21 展望

JDK 21 计划于 2023 年 9 月发布,作为下一个 LTS 版本。目前有两个 JEP 被提议纳入 JDK 21:

  1. JEP 430: 字符串模板(预览)
    该功能提议在 Java 编程语言中引入字符串模板,允许在运行时嵌入表达式。
  2. JEP 431: 顺序集合
    该功能提议引入一组新的接口,表示元素按定义顺序排列的集合。

此外,还有一些 JEP 草案和候选功能可能被纳入 JDK 21,包括范围值(预览)、值对象(预览)、异步堆栈跟踪 VM API 等。

总结

JDK 20 带来了多项新功能和改进,特别是在并发、外部互操作和语言增强方面。这些功能为开发者提供了更强大的工具和更高效的编程体验。JDK 21 的 LTS 版本也在积极筹备中,预计将引入更多创新和改进。

阅读 46
0 条评论