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
组织管理复杂性、降低安全风险并控制成本。
内容载自:ORACLE网站
