前言
-
Oracle 正式发布了备受期待的 Java 22,这是广受欢迎的编程语言和开发平台迎来的全新版本。
-
Java 22(Oracle JDK 22)在性能、稳定性和安全性方面进行了数千项改进,涵盖了 Java 语言、API、性能以及 JDK 中工具的增强功能,旨在帮助开发人员提高工作效率,推动企业加速创新和发展。
Java 22 带来的重要更新
Project Amber 的特性
-
JEP 447:Statements before super(...)
- 支持开发人员在构造器中自由地表达行为,使得未引用正在创建的实例的语句可以在调用显式构造器之前出现。这样的改进让开发人员能够更自然地组织构造器内的逻辑。
-
JEP 456:Unnamed Variables & Patterns
- 引入未命名的变量和模式,提高了 Java 语言的生产力。开发人员可以在需要声明但从未使用的情况下,使用这些变量和模式,从而减少错误、提高代码可读性和可维护性。
-
JEP 459:String Templates(第二预览版)
- 简化了包含运行时计算值的字符串的表达,提高了 Java 程序的开发效率和安全性。
-
JEP 463:Implicitly Declared Classes and Instance Main Methods(第二预览版)
- 通过简化的单类程序声明,加速了初学者编写 Java 程序的速度,无需了解较复杂的语言功能。
Project Loom 的特性
-
JEP 462:Structured Concurrency(第二预览版)
- 引入用于结构化并发的 API,简化了错误处理和取消,并提高了可观测性,鼓励更多人选择并发编程。
-
JEP 464:Scoped Values(第二预览版)
- 支持在线程内和线程之间共享不可变数据,提高了项目的易用性、可理解性、性能和稳健性。
Project Panama 的特性
-
JEP 454:Foreign Function & Memory API
- 使 Java 程序更容易与 Java 运行时之外的代码和数据互操作,帮助开发人员提高易用性、灵活性、安全性和性能。
-
JEP 460:Vector API (七次孵化阶段)
- 引入 API 表达向量计算,提高了性能。
核心库和工具功能
-
JEP 457:Class-File API(预览版)
- 提供用于解析、生成和转换 Java 类文件的标准 API,提高了开发人员的工作效率。
-
JEP 458:Launch Multi-File Source-Code Programs
- 支持运行作为多个 Java 源代码文件提供的程序,增强了 Java 应用启动器。
-
JEP 461:Stream Gatherers(预览版)
- 增强了 Stream API,使流管道更灵活、更具表达力,提高了开发人员的工作效率。
性能更新
- JEP 423:Region Pinning for G1
- 在某些资源回收时允许进行资源回收,减少了延迟。
这些更新和改进将进一步提升 Java 的开发体验,促进开发人员更高效地构建和维护应用程序。