2024年3月19日,Oracle正式发布Java22。
这是备受欢迎的编程语言和开发平台推出的全新版本。
Java 22 (Oracle JDK 22) 在性能、稳定性和安全性方面,进行了数千种改进,包括对Java 语言、其API 和性能,以及Java 开发工具包 (JDK)中工具的增强功能,以帮助开发人员提高工作效率,推动企业加速创新和发展。
全新的 Java 版本提供 12 个 JDK 增强建议,有助于优化 Java 语言并提升开发平台的性能、稳定性和安全性。
1 Project Amber 的特性
1.1 JEP 447
支持开发人员自由地表达构造器的行为。对于未引用正在创建的实例的语句,该语句也可以在调用显式构造器之前出现,让开发人员可以更自然地放置逻辑。
1.2 JEP 456
通过未命名的变量和模式来增强 Java 语言。在必须使用变量声明或嵌套模式,但又从未使用过的情况下,开发人员可以使用这些变量和模式来提高生产力。
1.3 JEP 459
使包含运行时计算值的字符串更容易表达,简化 Java 程序的开发工作,同时提高将用户提供的值编写成字符串,并将字符串传递给其他系统的程序的安全性。
1.4 JEP 463
通过 Java 编程入门教程,学生无需了解为大型程序而设计的语言功能,即可顺利编写第一个程序,加快了上手速度。通过此特性,教育工作者可以循序渐进地介绍概念,学生也可以编写简化的单类程序声明,并随着个人技能的提升,无缝扩展程序并使用更高级的功能。
2 Project Loom 的特性
2.1 JEP 462
通过引入用于结构化并发的 API,帮助开发人员简化错误处理和取消,并提高可观测性,进而鼓励更多人选择并发编程。
2.2 JEP 464
支持开发人员在线程内和线程之间共享不可变数据,从而提高项目的易用性、可理解性、性能和稳健性。
3 Project Panama 的特性
3.1 JEP 454
新推出的 API 使 Java 程序更容易与 Java 运行时之外的代码和数据互操作,从而帮助开发人员提高易用性、灵活性、安全性和性能。通过有效调用外部函数(即 Java Virtual Machine (JVM) 之外的代码),以及安全地访问外部内存(即不受 JVM 管理的内存),这个新的 API 支持 Java 程序在无需 Java Native Interface 的情况下调用本地库和处理原生数据。
3.2 JEP 460
引入 API来表达向量计算,在运行时可靠地编译为支持的 CPU 架构上的向量指令,使开发人员获得优于等效标量计算的性能。
4 核心库和工具功能
4.1 JEP 457
通过提供用于解析、生成和转换 Java 类文件的标准 API,帮助开发人员提高工作效率。
4.2 JEP 458
支持开发人员通过增强 Java 应用启动器,选择是否以及何时需要配置构建工具,从而运行作为多个 Java 源代码文件提供的程序。
4.3 JEP 461