Java 26 发布:非 LTS 版本为何依然值得开发者关注

甲骨文发布Java 26,包含10个JDK增强提案,涵盖HTTP/3网络支持、垃圾回收效率、加密工具等改进。虽非长期支持版本,但在性能优化方面表现突出,特别是G1垃圾回收器同步开销减少和延迟常量功能,后者对AI工作负载尤其重要。新版本还支持结构化并发、移除过时的Applet API,并引入Java验证产品组合。甲骨文同时宣布Project Detroit项目,允许Java调用JavaScript和Python运行时。

Oracle 在周二加利福尼亚州红木海岸举办的 JavaOne 2026 大会开幕日发布了 Java 26,延续了该平台六个月的发布节奏,提供了一系列在性能、安全性和语言表达能力方面的渐进但有意义的改进。

该版本交付了 10 个 JDK 增强提案(JEP),涉及从 HTTP/3 网络支持到垃圾收集效率、加密工具和早该清理的 Applet API 等各个方面。Java 26 不是长期支持(LTS)版本;JDK 25 拥有该称号。这意味着采用保守升级周期的企业团队将在很大程度上跳过这一版本,但追求前沿技术的开发者有很多值得研究的内容,Java 平台提供商 Azul 的副首席技术官 Simon Ritter 说。

RedMonk 首席分析师 Stephen O'Grady 告诉 The New Stack,这个版本完全是为了让 Java 保持时代性。

"虽然有一些开发者体验和加密改进,但对我来说最大的亮点是面向性能的增强——一个改进垃圾收集,另一个是懒加载常量,特别与 AI 使用和工作负载相关,"O'Grady 说。"总的来说,这是另一个专注于全面推进的版本,让 Java 保持更新和相关性。"

Oracle 从企业角度描述这次发布。"30 多年来,组织一直依赖 Java 平台和语言来帮助驱动他们的关键任务系统并支持应用程序和服务的快速开发,"IDC 软件开发研究副总裁 Arnal Dayaratna 在一份声明中说。"通过使用新功能和服务(如高级 AI 和安全功能)扩展 Java 的功能,Java 26 为组织提供了更快的创新路径。"

与此同时,Oracle Java 平台高级副总裁兼 OpenJDK 管理委员会主席 Georges Saab 将此次发布与 AI 时代联系起来。"Java 26 中的新功能体现了 Oracle 帮助客户利用 AI 和加密技术构建加速业务增长应用程序的承诺,"Saab 在声明中说。

核心性能增强

有两个 JEP 证明了为什么开发者应该关注 Java 26,即使在非 LTS 周期中。

JEP 522 针对 G1 垃圾收集器,减少了应用程序线程和 GC 线程之间的同步开销。实际结果是使用相同硬件获得更高的吞吐量,应用程序运行更快,服务更多用户,降低基础设施成本,而不需要架构更改。对于运行高并发工作负载的团队来说,这是下一次 JDK 升级时有意义的免费升级,Ritter 说。

JEP 516,Project Leyden 功能,扩展了提前对象缓存以与任何垃圾收集器配合工作——包括低延迟的 ZGC。该 JEP 在 JDK 25 中引入,但在 GC 兼容性方面有限制;Java 26 填补了这一空白。它允许 HotSpot JVM 在启动时从 GC 无关格式加载缓存的预初始化 Java 对象,减少启动延迟和预热时间。

"他们发现的一个问题是,他们有这样做的想法,但它不能与所有垃圾收集器配合工作,"Ritter 在与 The New Stack 的发布前技术简报中指出。"所以,他们现在修复了这个问题,使其与 ZGC 配合工作。"对于冷启动性能直接影响成本和用户体验的云原生应用程序,这很重要。

JEP 526,懒加载常量,在其第二次预览中完善了性能故事。该功能——以前称为稳定值,后来重命名——为开发者提供了一个新的 API,用于保存不可修改数据的对象,按需初始化一次,而不是在类加载时。JVM 一旦设置就将懒加载常量视为真正的常量,实现与 final 字段相同的性能配置文件,同时给开发者控制初始化时机。

语言和并发改进

JEP 530,模式中的原始类型、instanceof 和 switch,进入第四次预览。该 JEP 解决了原始类型与 Java 模式匹配功能交互时出现的摩擦——行为不符合开发者期望的边缘情况。它加强了 switch 构造中的主导性检查,允许编译器在编译时而不是运行时捕获更广泛类别的错误。

JEP 525 在 Project Loom 下将结构化并发带到第六次预览。该 API 将跨线程运行的相关任务组视为单一工作单元,简化取消和关闭处理,减少线程泄漏风险。

网络和安全增强

JEP 517 为 HTTP 客户端 API 添加了 HTTP/3 支持。HTTP/3 使用 QUIC 协议通过 UDP 而不是 TCP 的传统传输,这需要在顶部重建可靠性——但为微服务和 API 驱动的应用程序提供更低的延迟和更好的性能。

JEP 524 在其第二次预览中为加密对象添加了 PEM 编码 API,简化了开发者在企业和云部署中处理加密密钥、证书和证书撤销列表的方式。该 API 简化了合规工作,提高了跨安全格式的可移植性。

清理和未来准备

JEP 500,准备让 Final 真正意味着 Final,开始对长期存在的不一致性强制执行 Java 的默认完整性原则:final 字段可以通过深度反射进行变异,迫使 JVM 对不可变性进行对冲并限制优化。

JEP 504 最终删除了自 JDK 17 以来一直被弃用等待删除的 Applet API。

"Applets 确实是死技术,"Ritter 直截了当地说。"已经没有浏览器为它们提供安全补丁并仍然支持 applets 所需的功能。所以,他们终于摆脱了这些。"

Oracle 还宣布了 Java 验证产品组合(JVP),这是一个策划的 Oracle 支持的生态系统组件包——包括对 JavaFX 和 Helidon 微服务框架的商业支持——在统一许可和支持条款下打包。

Oracle 云基础设施(OCI)已成为第一个支持 Oracle JDK 26 的云提供商,OCI 客户可免费使用。

Q&A

Q1:Java 26 有哪些主要的性能改进?

A:Java 26 主要有三个性能改进:JEP 522 优化了 G1 垃圾收集器,减少应用程序线程和 GC 线程间的同步开销,提高吞吐量;JEP 516 扩展了提前对象缓存功能,支持所有垃圾收集器包括 ZGC,减少启动延迟;JEP 526 引入懒加载常量,提供按需初始化的不可修改数据对象,特别适用于 AI 应用。

Q2:为什么 Java 26 不是 LTS 版本但仍值得关注?

A:虽然 Java 26 不是长期支持版本(JDK 25 是 LTS),但它包含了重要的性能、安全和语言表达能力改进。特别是垃圾收集优化、HTTP/3 支持、加密工具增强等功能,对追求前沿技术的开发者很有价值。Oracle 强调这些改进有助于保持 Java 的时代性和相关性。

Q3:Java 26 对 AI 开发有什么特殊支持?

A:Java 26 通过多个方面支持 AI 开发:懒加载常量特别适用于 AI 工作负载;结构化并发 API 简化多线程协调;Oracle 还发布了 Java 验证产品组合,包括 Helidon AI 框架;同时宣布了 Project Detroit 项目,让 Java 能够在 JVM 内调用 Python 的 AI 库生态系统。

来源:The New Stack

0赞

好文章,需要你的鼓励

2026

04/02

10:27

分享

点赞

邮件订阅