024 年 3 月 19 日,甲骨文宣布发布 Java 22,这是流行的编程语言和开发平台的最新版本。这一重大更新提供了广泛的新功能和改进,Java 开发人员应该对此感到兴奋。让我们深入了解 Java 22 中最重要的增强功能,以及它们对 Java 开发社区的意义。
Project Amber 的语言增强功能
Java 22 的重点领域之一是 Project Amber,它旨在发展 Java 语言并使其更具表现力和简洁性。以下是此版本中引入的重要语言功能:
1. Super 之前的语句 (...)
使用 JEP 447,开发人员现在可以更灵活地表达构造函数行为。不引用正在创建的实例的语句现在可以出现在显式构造函数调用之前。这允许更自然地放置 logic 并保留构造函数的自上而下的执行顺序。
2. 未命名的变量和模式
JEP 456 引入了未命名的变量和模式,当需要变量声明或嵌套模式但从未使用时,可以使用它们。此增强功能提高了代码的可读性,减少了错误,并增强了代码库的可维护性。
3. 字符串模板
JEP 459 的第二个预览版简化了 Java 程序的开发,它可以更轻松地表达包含运行时计算值的字符串。字符串模板可以提高根据用户提供的值编写字符串时的安全性,并增强与文本混合的表达式的可读性。
4. 隐式声明的类和实例 main 方法
JEP 463 也是第二个预览版,它允许 Java 初学者编写他们的第一个程序,而无需了解复杂的语言特性,从而为 Java 初学者提供了一个平稳的入口。此功能可以简化单班课程的声明,并允许学生随着技能的提高逐渐扩展他们的课程。
Project Loom 的并发性改进
Project Loom 专注于简化并发和并行代码的编写和维护,它在 Java 22 中带来了两个重要特性:
1. 结构化并发
JEP 462 的第二个预览版引入了用于结构化并发的 API。此功能可帮助开发人员简化并发编程中的错误处理、取消和可观察性。它促进了一种消除常见风险(如线程泄漏和取消延迟)的样式。
2. 范围值
JEP 464 的第二个预览版引入了作用域值,支持在线程内和线程之间共享不可变数据。作用域值提高了并发代码的易用性、可理解性、性能和健壮性。
与 Project Panama 的本机互操作性
Project Panama 旨在提高 Java 与本机代码和数据的互操作性。Java 22 包括该项目的两个主要功能:
1. 外部函数和内存 API
JEP 454 引入了一个 API,它允许 Java 程序高效调用外部函数并安全地访问外部内存,而无需依赖 Java 本机接口 (JNI)。此功能提高了与本机库和数据互操作时的易用性、灵活性、安全性和性能。
2. 矢量 API
JEP 460 的第七个孵化器提供了一个 API 来表达矢量计算,这些计算可以在支持的 CPU 架构上编译为矢量指令。与等效的标量计算相比,这使开发人员能够实现卓越的性能。
核心库和工具增强功能
Java 22 还对核心库和工具进行了多项改进:
1. 类文件 API
JEP 457 预览版引入了用于解析、生成和转换 Java 类文件的标准 API。此功能旨在提高开发人员在处理类文件时的工作效率。
2. 启动多文件源代码程序
JEP 458 增强了 Java 应用程序启动器,以支持以多个 Java 源代码文件的形式运行的程序。这为开发人员在配置构建工具时提供了更大的灵活性。
3. 流收集器
JEP 461 预览版增强了 Stream API 以支持自定义中间操作。此功能使流管道更加灵活和富有表现力,使开发人员能够编写更高效、更易维护的代码。
性能改进
Java 22 在 JEP 423 中包括一个显著的性能更新:G1 的区域固定。此功能允许在某些本机库调用期间进行垃圾回收,从而减少延迟。通过仅固定包含需要阻止的对象的区域,垃圾回收可以在未固定的区域中正常继续,从而提高整体性能。
云支持和 Java 管理服务
Java 22 针对云中的部署进行了优化,尤其是在 Oracle Cloud Infrastructure (OCI) 上。OCI 是首批支持 Java 22 的超大规模云之一,可免费访问 Oracle Java SE、Oracle GraalVM 和 Java SE 订阅企业性能包。
此外,Java 22 还受 Java 管理服务 (JMS) 的支持,JMS 是一项 OCI 原生服务,可提供统一的控制台和仪表盘来管理本地和云环境中的 Java 运行时和应用程序。
JavaOne 将于 2025 年回归
Java 社区欣喜若狂的是,Oracle 宣布面向 Java 开发人员的旗舰活动 JavaOne 将于 2025 年重返旧金山湾区。JavaOne 2025 将于 3 月 17 日至 20 日举行,与会者将有机会了解最新的 Java 发展,并与 Oracle 的 Java 专家和行业杰出人士互动。
Java 22 是一个重要的版本,它为 Java 平台带来了广泛的增强功能和新功能。从语言改进和并发更新到本机互操作性和性能优化,此版本为每位 Java 开发人员提供了一些功能。
随着 JavaOne 在 2025 年回归,以及通过 JMS 等服务在云中继续支持 Java,Java 生态系统的未来一片光明。开发人员应探索 Java 22 提供的新功能,并利用它们来构建更高效、更安全和可扩展的应用程序。
与往常一样,Java 22 的发布是 Oracle 与全球 Java 开发人员社区通过 OpenJDK 和 Java Community Process (JCP) 合作的成果。Java 社区对创新和持续改进的承诺使该平台即使在近三十年后仍保持活力和相关性。