Java 23:新功能正式公布

💡 原文中文,约4400字,阅读约需11分钟。
📝

内容提要

Java 23引入了四个新功能,包括Vector API、Stream Gatherers和模式中的原始类型。Vector API有助于在运行时表达向量计算。Stream Gatherers增强了Stream API的自定义操作。Class File API简化了处理类文件,并允许JDK组件迁移到标准API。Java CodeBuilder中的CodeBuilder已经得到改进。这些新功能旨在使初学者更容易编程。Oracle还概述了其2024年的Java计划,包括改进OpenJDK项目。

🔎

延伸解读

Vector API 的孵化与目标

Vector API 自 JDK 16 起一直处于孵化阶段,直到 JDK 23 才正式引入。它旨在提供一种在运行时编译的向量计算表达方式,以便在不同 CPU 架构上获得最优的向量指令。该 API 的目标包括标准化、运行时编译、在 x64 和 AArch64 上提升性能、优雅降级、平台无关性,并与 Valhalla 项目保持更多一致。

Stream Gatherers 的转正与作用

Stream Gatherers 在 JDK 22 中作为预览功能引入,JDK 23 中正式加入。它增强了 Stream API,支持自定义操作,使流管道能够以现有内置操作难以实现的方式转换数据。这提高了流管道的灵活性和表现力,并允许自定义操作处理无限大小的流。

Class File API 的改进与迁移

Class File API 旨在提供处理类文件的标准 API,跟踪 JVM 规范定义的类文件格式。它使 JDK 组件能够迁移到标准 API,并移除 JDK 中 ASM 库的副本。JDK 23 中,CodeBuilder 得到简化,移除了与低级方法重复的中级方法,并重命名其余方法以提高可用性,同时完善了 ClassSignature 类模型。

模式中的原始类型预览

JDK 23 预览了模式中的原始类型,允许在 instanceof 和 switch 中使用原始类型模式。这显著增强了模式匹配,扩展了 instanceof 和 switch 以处理所有原始类型,包括嵌套和顶级上下文。目标包括提供易用构造、消除不安全强制转换导致的信息丢失风险,并使 switch 能处理任何原始类型的值。

❓

Q&A

Java 23引入了哪些新功能?

Java 23引入了Vector API、Stream Gatherers、模式中的原始类型和Class File API四个新功能。

Vector API的主要作用是什么?

Vector API帮助在运行时表达向量计算,旨在优化不同CPU架构上的性能。

Stream Gatherers如何增强Stream API?

Stream Gatherers增强了Stream API,支持自定义操作,使流管道更加灵活和富有表现力。

Class File API的主要功能是什么?

Class File API简化了类文件处理,允许JDK组件迁移到标准API。

Java CodeBuilder在Java 23中有哪些改进?

Java CodeBuilder的改进使得编写字节码指令更加简便,删除了与低级方法重复的中级方法。

Oracle对2024年的Java计划是什么?

Oracle计划在2024年改进OpenJDK项目,包括Amber、Babylon和Valhalla等功能。

🏷️

标签

➡️

继续阅读