新闻稿

Oracle 正式发布 Java 24

新版本提供了 24 个 JDK 增强建议,改进了 Java 语言,帮助开发人员提高工作效率

此平台提升了性能、稳定性和安全性,可帮助企业加快业务增长

JavaOne 2025 大会将重点介绍采用 AI 和后量子密码的新功能

美国德克萨斯州奥斯汀—2025年3月18日
Java24

Oracle 正式发布 Java 24,这是备受欢迎的编程语言和开发平台推出的全新版本。Java 24 (Oracle JDK 24) 提供了数千项改进,可帮助开发人员提高工作效率并推动创新。此外,平台提升了性能、稳定性和安全性,可帮助企业加快业务增长。敬请关注 2025 年 3 月 18 日至 20 日在美国加利福尼亚州红木海岸举办的 JavaOne 2025 会议,了解有关新的 Java 24 版本的更多信息。

IDC 软件开发研究副总裁 Arnal Dayaratna 表示:“在即将迎来 30周年之际,Java 将继续扩展工具集以应对开发人员不断变化的需求,包括支持 AI 应用开发的功能。新版本中包含了广泛的功能,有助于提高开发人员的工作效率,让他们能够更快、更高效地向企业和客户提供功能丰富的应用。Java 24 版本充分展现了 Java 在大规模开发企业级关键任务应用方面的优势。”

甲骨文公司 Java 平台高级副总裁及 OpenJDK 董事会主席 Georges Saab 表示:“在过去的 30 年里,Java 为开发人员提供了一个全面的平台来构建和部署面向各种使用场景的应用。Java 24 版本拥有 20 多项涵盖了 Java 方方面面的新功能,包括新的 AI 和后量子密码功能,为开发人员提供了构建 AI 应用所需的工具。作为 Java 的管理者,我们很高兴能够与全球 Java 社区合作,继续每六个月定期提供新功能。”

语言特性

  • JEP 488: Primitive Types in Patterns, instanceof, and switch(第二预览版)— 通过使语言更加统一且更具表达能力,帮助开发人员提高 Java 编程的工作效率。此功能可帮助开发人员消除他们在使用模式匹配、instanceof 和 switch 时遇到的基元类型的限制,从而增强模式匹配。该功能还在所有模式上下文中支持基元类型模式,并扩展 instanceof 和 switch,使其能够与所有基元类型一起使用。集成 AI 推理的应用开发人员将能够从原始类型的支持中大大受益。
  • JEP 492: Flexible Constructor Bodies(第三预览版)— 在构造函数主体中引入两个不同的序言和表述阶段,帮助开发人员提高代码的可靠性。开发人员能够更自然地将他们当前必须考虑的逻辑融入辅助静态方法、辅助中间构造函数或构造函数参数中。此外,该功能还保留了现有的保证,即子类构造函数中的代码不能干扰超类实例化,能够在重写方法时使类更加可靠。
  • JEP 494: Module Import Declarations(第二预览版)— 开发人员可以轻松快速地导入由模块导出的所有程序包,无需将导入代码放到模块中,从而提高工作效率。这简化了所有开发人员对模块化库的重用,让初学者能够更轻松地使用第三方库和基本 Java 类,无需了解它们在程序包层次结构中的位置。该功能还可以帮助开发人员快速将业务逻辑与原生 AI 推理、库或服务调用集成在一起。
  • JEP 495: Simple Source Files and Instance Main Methods(第四预览版)— 帮助学生无需了解为大型程序而设计的语言功能,即可顺利编写第一个程序,加快了上手 Java 编程的速度。有鉴于此,教育工作者和导师可以循序渐进地介绍概念,学生也可以编写简化的单类程序声明,并随着个人技能的提升,无缝扩展程序并使用更高级的功能。此外,经验丰富的 Java 开发人员也可以以简洁而高效的方式编写小程序,无需使用为大型项目设计的工具。

  • JEP 485: Stream Gatherers — 通过增强 Stream API 来支持自定义中间操作,让流管道以现有内置中间操作无法轻松实现的方式转换数据,从而帮助开发人员提高阅读、编写和维护 Java 代码的效率。
  • JEP 484: Class-File API — 通过提供用于解析、生成和转换 Java 类文件的标准 API,以及跟踪 Java Virtual Machine 规范定义的类文件格式,帮助开发人员提高工作效率。
  • JEP 487: Scoped Values(第四预览版)— 支持开发人员在线程内和线程之间共享不可变数据,从而提高项目的易用性、可理解性、性能和稳健性。
  • JEP 489: Vector API (九次孵化阶段)— 新推出的 API 允许以一种在运行时,可靠地编译为支持的 CPU 架构上的向量指令方式表达向量计算,帮助开发人员提高生产力。因此,开发人员可以实现优于等效标量计算的表现,这些计算通常用于 AI 推理和计算场景。
  • JEP 499: Structured Concurrency(第四预览版)— 通过面向结构化并发的新 API 简化并发编程,帮助开发人员提高多线程代码的可维护性、可靠性和可观察性。通过将在不同线程中运行的相关任务组视为单个工作单元,结构化并发可以减少因取消和关闭而产生的常见风险,例如线程泄漏和取消延迟。

安全库

  • JEP 478: Key Derivation Function API(预览版)— 通过为传输中的数据提供加密安全,帮助开发人员为新兴的量子计算环境做好准备。这有助于提高保密性和通信完整性。
  • JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism — 支持实施抗量子的基于模块晶格的密钥封装机制 (ML-KEM),帮助提高 Java 应用的安全性。此功能是 Java 平台朝着后量子就绪以及最终交付后量子加密 (PQC) 技术支持迈出的重要一步,因为密钥封装机制用于通过公钥加密技术通过不安全的通信通道保护对称密钥。
  • JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm — 支持实施抗量子的基于模块晶格的数字签名算法 (ML-DSA),帮助提高 Java 应用的安全性。与 JEP 496 一样,此功能是 Java 平台迈向后量子就绪以及最终交付 PQC 技术支持的重要举措,因为数字签名主要用于检测未经授权的数据修改和验证签字人的身份。ML-DSA 旨在防止未来的量子计算攻击,目前已被美国国家标准与技术研究所 (NIST) 列为 FIPS 204 中的标准化项目。

工具

  • JEP 493: Linking Run-Time Images without JMODs — jlink 工具无需使用 JDK 的 JMOD 文件,即可创建定制运行时映像,能够将 JDK 的大小缩减约 25%,进而帮助开发人员提高效率。有鉴于此,开发人员可以从模块链接运行时映像,无论这些模块是独立的 JMOD 文件、模块化 JAR 文件还是以前链接的运行时映像的一部分。构建 JDK 时必须启用此功能;此功能不会默认启用,某些 JDK 供应商可以选择不启用此功能。

性能和运行时更新

  • JEP 450: Compact Object Headers(实验版) — 在 64 位架构上,将 HotSpot JVM 中的对象标头大小从 96 位和 128 位缩减至 64 位,帮助开发人员提高工作效率。这有助于减少堆大小、提高部署密度和增加数据局部性。
  • JEP 475: Late Barrier Extension for G1 — 通过将 G1 垃圾收集器屏障从早期的 C2 JIT 编译管道扩展切换到后期屏障扩展,这意味着如果该项操作在独立于平台的优化和寄存器分配之后发生,就可以降低开销,还可以帮助开发人员提高效率。通过简化 G1 垃圾收集器屏障的实施,此功能有助于提高 C2 生成的代码的效率、可理解性、可恢复性和质量。
  • JEP 483: Ahead-of-Time Class Loading & Linking — 在 HotSpot Java Virtual Machine 启动时,使应用的类在加载和链接状态下立即可用,从而帮助开发人员提高工作效率并缩短启动时间。此功能不需要使用 jlink 或 jpackage 工具,不需要对从命令行启动应用的方式进行任何更改,也不需要对应用、库或框架的代码进行任何更改。因此,该功能有助于为启动和预热时间的持续进步奠定基础。
  • JEP 490: ZGC: Remove the Non-Generational Mode — 通过删除 Z Garbage Collector (ZGC) 的非分代模式,帮助开发人员降低支持两种不同模式的维护成本。
  • JEP 491: Synchronize Virtual Threads without Pinning — 提高使用同步方法和语句的 Java 代码和库的可扩展性,帮助开发人员提高工作效率。该功能允许虚拟线程释放其底层平台线程,让开发人员能够访问更多的虚拟线程来管理其应用的工作负载。

源代码

  • JEP 404: Generational Shenandoah(实验版) — 通过实验性的分代收集功能增强 Shenandoah 垃圾收集器,以提高可持续吞吐量、负载峰值抵抗力和内存利用率,帮助开发人员提高工作效率。
  • JEP 479: Remove the Windows 32-bit x86 Port — 删除对 Windows 32 位 x86 端口的源代码和构建支持,简化了 JDK 的构建和测试架构,帮助开发人员提高效率。
  • JEP 501: Deprecate the 32-bit x86 Port for Removal — 弃用 32 位 x86 端口,以便能够在接下来的版本中删除该端口,帮助开发人员提高工作效率。开发人员无需实施 32 位 x86 回退,即可访问需要特定平台支持的新功能。

此外,通过引入安全的现代化特性,同时逐渐弃用和删除不安全的特性,Oracle 强调致力于保持 Java 的完整性并遵循软件开发优秀实践。Oracle 即将在接下来的 Java 版本中删除这三个特性: JEP 472: Prepare to Restrict the Use of JNI; JEP 486: Permanently Disable the Security Manager; JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe。

Java 24 的特性是 Oracle 与全球 Java 开发人员社区成员通过 OpenJDK 社区 和 Java Community Process (JCP) 共同合作的成果。有关 Java 24 特性的更多信息,请阅读 Java 24 技术 博客文章。.

云端创新赋能全球 Java 社区

当 Java 部署于 Oracle Cloud Infrastructure (OCI) 上时,不仅能够带来更多创新、更高的性能和效率,还能节省成本,而 OCI 是首批支持 Java 24 的超大规模云之一。通过在 OCI 上免费提供 Oracle Java SE、Oracle GraalVM 和 Java SE Subscription Enterprise Performance Pack,Java 24 助力开发人员构建和部署速度更快、更出色且经过优化的应用。

Oracle Java Universal SE Subscription 可为客户提供优质的支持服务。该产品包含了 Java SE Subscription Enterprise Performance Pack,提供对整个 Java 产品组合的支持、Oracle GraalVM 授权、Java Management Service 增强功能以及按业务计划进行升级的灵活性。这有助于 IT 组织管理复杂性、降低安全风险并控制成本。

引用观点

NYJavaSIG 董事长 Frank Greco 表示:“我期待能够使用 Java 24 中进一步完善的 Java Vector API,进一步增强预测和生成式 AI 应用。直接在 Java 中启用高效的 AI 算法,有助于确保 AI 应用在各种现代硬件平台中高效运行和可扩展。”

XDEV Software GmbH 首席执行官 Richard Fichtner 表示:“Java 24 推出了 Stream Gatherers,这是一个强大的增强功能,可帮助开发人员对流中的元素分组和处理方式进行细粒度控制。这使得复杂的数据转换更具表现力和效率。我喜欢这个功能,它支持更可读和可维护的流管道,我们再也无需使用自定义收集器或 flatMap 体操等解决方法。”

Agile Developer, Inc. 创始人 Venkat Subramaniam 博士表示:“Java 就像是顶级厨师制作的酱汁,精心挑选的食材,经过慢火熬制,风味十足。我喜欢的是 Stream Gatherers API、Scoped Values 和 Structured Concurrency。”

CodeRanch 开发人员 Jeanne Boyarsky 表示:“Java 24 中灵活构造函数的第三预览版是一个相当特出的功能,这个方法不必创建私人助手,仅需一行代码就可以调用 this/super,非常好用。流收集器功能也很有趣,期待库能想出许多可供借鉴的新的中间操作。”

JetBrains Java 开发人员权益倡导者 Marit van Dijk 表示:“在 JetBrains,我们很高兴能够从一开始就通过 IntelliJ IDEA 提供 Java 24 支持。我们致力于跟上 Java 推出增强功能的步伐,这有助于确保开发人员可以无缝采用有价值的新功能,同时也支持直接在 IDE 中下载 Java 24,可轻松完成设置。”

如需了解有关 Java 及其全球生态的更多信息,请访问:

  • Dev.java: 学习 Java 的官方门户
  • Inside.java: Oracle Java 团队成员的新闻和观点
  • Java YouTube: 发布 Java 学习视频的官方 Java YouTube 门户

更多资源

下载 Oracle JDK 24

联系信息

石佳

甲骨文公司
+86 (10) 65151491

关于 Oracle

Oracle 在 Oracle Cloud 中提供集成的应用套件和具有安全性和自治能力的基础设施。如需了解有关 Oracle (NYSE: ORCL) 的更多信息,请访问 www.oracle.com/cn

未来产品免责声明

以上内容旨在概述产品的总体发展方向。该内容仅供参考,不可纳入任何合同。该内容不构成提供任何资料、代码或功能的承诺,并且不应该作为制定购买决策的依据。此处所述有关 Oracle 产品的任何特性或功能的开发、发布、日程安排以及定价均由 Oracle Corporation 自行决定。

商标

Oracle、Java、MySQL 和 NetSuite 是 Oracle Corporation 的注册商标。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。