新版本提供了
18
个
JDK
增强建议,改进了
Java
语言,扩展了
AI
功能,帮助开发人员提高工作效率
该平台提升了性能、安全性和稳定性,可帮助企业加快业务增长
长期支持服务使客户能够按自身节奏进行迁移
Oracle
正式发布 Java
25,这是备受欢迎的编程语言和开发平台的全新版本。Java
25 (Oracle JDK 25)
提供了数千项改进,不仅可显著提高开发人员的工作效率,还增强了平台的性能、稳定性和安全性,以此帮助企业加快业务增长。此外,Oracle
将为
Java 25
提供长达至少
8
年的长期支持服务。
IDC
软件开发研究副总裁
Arnal Dayaratna
表示:
“随着
Java
迈入第四个十年,它将继续交付更多先进特性来确保应用,包括
AI
驱动型应用和集成了
AI
功能的应用,在各种硬件平台上高效运行并实现出色的可扩展性。Oracle
将继续引领
Java
编程语言和 Java
平台不断发展,尤其是在
AI
和安全性方面。Oracle
也将坚持一贯的 6
个月一次的更新节奏,为进一步加速创新贡献自己的力量。我们相信
Java
能够持续交付现代化特性,出色满足新一代
AI
驱动型应用的开发需求。”
Oracle Java
Platform
高级副总裁兼
OpenJDK
管理委员会主席
Georges Saab
表示:
“今年是
Java
的 30
周年,也是
Java
发展史上的一个重要里程碑。未来,Java
平台和语言将进一步发展,帮助开发人员轻松、快速地构建融合了创新型
AI
和安全性功能的应用。Java
25
凸显了 Oracle
长期以来在
Java
上的不懈投入。Oracle
不仅从
Java
特性和功能上着手来驱动
AI
解决方案,还简化语言,让新手开发人员和
IT
团队更容易学习与使用
Java。”
Oracle
计划为
Java 25
提供长达至少
8
年的长期支持,这将赋予各类组织出色的灵活性,既能够以尽可能少的维护投入在更长时期内运行相关应用,同时能够按自身节奏有条不紊地进行迁移。按照计划,Oracle
JDK 25
将根据《Oracle
免费条款和条件》(NFTC)
获得季度性安全和性能更新直至
2028
年 9
月。随后,Oracle
JDK 25
将按照
Java SE OTN
许可协议发布更新直至
2033
年 9
月。
关键
JDK 增强建议
(JEP)
Oracle JDK 25 语言特性
l
JEP 507: Primitive Types in Patterns, instanceof, and switch(第三预览版)— 通过使
Java
更加统一且更具表达能力,帮助开发人员提高
Java
编程的工作效率。例如,开发人员可以消除他们在使用模式匹配、instanceof
和
switch
时遇到的基元类型的限制,从而增强模式匹配。该功能还在所有模式上下文中支持基元类型模式,并扩展
instanceof
和
switch,使其能够与所有基元类型一起使用。基元类型支持将尤其有益于开发人员构建集成了
AI
推理功能的应用。
l
JEP 511: Module Import Declarations
— 开发人员可以轻松导入由模块导出的所有程序包,无需将导入代码放到模块中,从而提高工作效率。这简化了所有开发人员对模块化库的重用,让初学者能够使用第三方库和基本
Java
类而无需了解它们在程序包层次结构中的位置。此外,开发人员还可以在使用模块所导出
API
的多个部分时,避免多项按需类型导入声明的噪声
—
这有益于综合使用
AI
推理和来自多个流行库的工作流的简单应用。
l
JEP 512: Compact Source Files and Instance Main Methods
— 针对
Java
编程提供一个流畅的启动入口,帮助初学者以及系统和
IT
管理员更轻松地使用
Java
语言。这使学生无需了解针对大型程序而设计的语言特性,即可简单编写自己的第一个程序,随后在技能增长过程中不断完善代码。此外,非
Java
专家型系统和 IT
管理员可以简单编写小型程序,如脚本和命令行实用程序。
l
JEP 513: Flexible Constructor Bodies
— 允许在显式调用构造函数前执行输入验证和安全计算,帮助开发人员提高代码安全性和可靠性。通过支持更自然的构造函数表达式和在字段对其他类代码(例如从一个超类构造函数调用的方法)可见前进行字段初始化,这可以提高代码安全性。此外,该特性还保留了现有的保证,即子类构造函数中的代码不会干扰超类实例化,能够提高可靠性。
Oracle JDK 25 库
l
JEP 505: Structured Concurrency(第五预览版)— 简化并发编程,帮助开发人员提高多线程代码的可维护性、可靠性和可观察性。通过将在不同线程中运行的相关任务组视为单个工作单元,结构化并发可以降低因取消和关闭而产生的常见风险,例如线程泄漏和取消延迟。这尤其有益于通常需要并行运行多项任务的
AI
开发工作。
l
JEP 506: Scoped Values
— 支持开发人员在线程内和线程之间共享不可变数据,从而提高项目的易用性、可理解性、性能和稳健性。这尤其有益于使用了
AI
平台、Web
框架和微服务的应用。此外,作用域值相比线程局部变量更易于推理,空间和时间成本更低,尤其是当与虚拟线程和结构化并发共同使用时。
l
JEP 502: Stable Values(预览版)— 为稳定值(保存不可变数据的对象)引入一个
API,帮助开发人员提高灵活性。由于
Java Virtual Machine
将稳定值视为常量,稳定值可实现与声明一个字段为
final
时同等的性能优化,同时提供更高的初始化时机灵活性。
l
JEP 508: Vector API(第十次孵化阶段)— 通过一个
API,以一种在运行时可靠地编译为受支持
CPU
架构上的优化向量指令的方式来表达向量计算,帮助开发人员提高生产力。因此,开发人员可以实现优于等效标量计算的表现,这些计算通常用于
AI
推理和计算场景。
Oracle JDK 25 安全库
l
JEP 470: PEM Encodings of Cryptographic Objects(预览版)— 通过一个新的用于对象编码的
API
帮助开发人员提高工作效率。该
API
不仅可对表示加密密钥、证书和证书吊销列表的对象编码,将其转化为已得到广泛应用且具有增强型隐私保护的邮件传输格式,还能从邮件传输格式解码回对象。这使开发人员可以更轻松地将
Java
应用和安全验证系统/设备(例如
Yubikey)集成在一起。
l
JEP 510: Key Derivation Function API
— 为密钥派生函数(使用密码学算法,从一个密钥和其他数据中派生出更多密钥)提供一个
API,帮助开发人员为新兴的量子计算环境做好准备。这为支持混合公钥加密提供了一个必要的构建块,有助于平稳过渡到量子安全加密。
Oracle JDK 25 性能更新
l
JEP 519: Compact Object Headers
— 在
64
位架构上将对象标头大小缩减至
64
位,帮助开发人员提高工作效率。这在降低实际工作负载上对象大小和内存占用的同时,还有助于提高部署密度和增强数据局部性。
l
JEP 514: Ahead-of-Time Command-Line Ergonomics
— 更轻松地创建
Ahead-of-Time
缓存而无表达能力丢失,帮助开发人员提高工作效率。这将简化常见用例所需的命令,加快
Java
应用的启动速度。
l
JEP 515: Ahead-of-Time Method Profiling
— 提高应用性能,帮助开发人员提高工作效率。通过将初始方法执行概要信息的收集从生产运行转移到训练运行,并通过
Ahead-of-Time
缓存传送概要信息,预热时间得以缩短。这使
JIT
编译器得以在应用启动时即时生成本机代码,而不是一直等到概要信息收集完毕。它还消除了对应用代码、库或框架的所有修改需求,消除了对应用执行的所有限制。
Oracle JDK 25 监视功能更新
l
JEP 509: JFR CPU-Time Profiling(实验版)— 增强
JDK Flight Recorder (JFR)
来捕获更准确的
Linux
平台上
CPU
时间分析信息,识别待优化的程序元素,从而帮助开发人员提高工作效率和程序效率。
l
JEP 518: JFR Cooperative Sampling
— 增强
JFR
在异步执行 Java
线程堆栈采样时的稳定性,帮助开发人员提高代码可靠性。这使
JFR
可以尽可能减少事件采样器中的安全点偏差,同时避免在安全点之外生成用于堆栈跟踪的风险性启发函数。它还允许创建样本请求来响应硬件事件,或在信号处理函数中创建样本请求,降低采样器线程的必要工作量。
l
JEP 520: JFR Method Timing & Tracing
— 允许开发人员识别应用性能瓶颈、优化代码以及查找错误根因,帮助开发人员提高工作效率。这是通过使用字节码增强来扩展
JFR,使
JFR
得以进行方法时间分析和跟踪实现的。
Java 25
的特性是
Oracle
与全球
Java
开发人员社区成员通过
OpenJDK
社区和
Java Community Process (JCP)
共同合作的成果。有关
Java 25
特性的更多信息,请阅读 Java
25
技术博客文章。
内容载自:ORACLE网站
