无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由: ...
2025-09-09 0
作者 | Michael Redlich
译者 | 张卫滨
JDK 25 是 JDK 21 之后的下一个长期支持(LTS)版本,目前它已经发布了第二个候选版本,正如甲骨文公司 Java 平台组首席架构师 Mark Reinhold 所 宣布 的那样。主线源代码仓库在 2025 年 6 月初被 fork 到 JDK稳定化代码仓库(Rampdown Phase One),该行为确定了 JDK 25 的特性集。关键缺陷,如回归或严重的功能问题,可能会得到解决,但必须要通过 修复请求 流程获得批准。根据 发布计划,JDK 25 将在 2025 年 9 月 16 日正式发布。
最终的 18 个新特性,以 JEP 的形式,可以分为四个类别,即核心 Java 库(Core Java Library)、Java 语言规范(Java Language Specification)、安全库(Security Library)和HotSpot。
四个新特性被归类为 核心 Java 库:
JEP 502: 稳定值(Stable Values,预览)
JEP 505: 结构化并发(Structured Concurrency,第五轮预览)
JEP 506: 作用域值(Scoped Values)
JEP 508: 向量 API(Vector API,第十轮孵化)
四个新特性被归类为 Java 语言规范:
JEP 507: 模式、instanceof 和 switch 中的原始类型(Primitive Types in Patterns, instanceof, and switch,第十轮预览)
JEP 511: 模块导入声明(Module Import Declarations)
JEP 512: 紧凑源文件和实例主方法(Compact Source Files and Instance Main Methods)
JEP 513: 灵活的构造函数体(Flexible Constructor Bodies)
两个新特性被归类为 安全库:
JEP 470: PEM 编码的对象加密(PEM Encodings of Cryptographic Objects,预览)
JEP 510: 密钥派生函数 API(Key Derivation Function API)
最后,还有八个新特性被归类为 HotSpot:
JEP 503: 移除 32 位 x86 移植版本(Remove the 32-bit x86 Port)
JEP 509: JFR CPU 采样(JFR CPU-Time Profiling,实验阶段)
JEP 514: 提前编译命令行人体工程学(Ahead-of-Time Command-Line Ergonomics)
JEP 515: 提前编译方法分析(Ahead-of-Time Method Profiling)
JEP 518: JFR 协作采样(JFR Cooperative Sampling)
JEP 519: 紧凑对象头(Compact Object Headers)
JEP 520: JFR 方法计时与跟踪(JFR Method Timing & Tracing)
JEP 521: 代际 Shenandoah(Generational Shenandoah)
我们了解了其中的一些新特性,以及包含它们的 Java 主项目,即 Amber、Loom、Panama、Valhalla 和 Leyden,这些项目旨在孵化一系列组件,最终经过仔细审查后合并到 JDK 中。
Amber 项目
JEP 512,紧凑源文件和实例主方法,提议经过 JDK 21 至 JDK 24 的四轮预览后,对这一功能实现最终确定,并进行改进。这个功能以前被称为简单源文件和实例主方法(Simple Source Files and Instance Main Methods),旨在“发展 Java 语言,以便学生可以在不需要理解为大型程序所设计的语言特性的情况下编写他们的第一程序 。”这个 JEP 推进了 2022 年 9 月甲骨文 Java 语言架构师 Brian Goetz 的博客文章,Paving the on-ramp,甲骨文技术咨询团队成员 Gavin Bierman 已经 发布 了这个 规范文档 供 Java 社区审查。
Loom 项目
JEP 506,作用域值(Scoped Values),提议经过 JDK 20 至 JDK 24 的一轮孵化和四轮预览后,对这一功能实现最终确定,不作任何更改。这个功能以前被称为范围局部变量(Extent-Local Variables,孵化),它允许在线程内和跨线程共享不可变的数据。这比线程局部变量更受青睐,特别是在使用大量虚拟线程的时候。
Panama 项目
JEP 508,向量 API(第十轮孵化),提议在经过 JDK 16 至 JDK 24 的九轮孵化后,进行第十次孵化,自 JDK 24 以来它没有 API 变化和实质性的实现变化。这个功能引入了一个 API 来“表达向量计算,这些计算在运行时可靠地编译为支持的 CPU 架构上的最优向量指令,从而实现比等效标量计算更优越的性能 。”Vector API 将继续孵化,直到项目 Valhalla 的必要功能作为预览功能可用。届时,Vector API 团队将调整 Vector API 及其实现以使用它们,并将 Vector API 从孵化阶段提升到预览阶段。
Leyden 项目
JEP 515,提前编译方法分析,提议通过“在 HotSpot JVM 启动时立即使用应用程序之前运行时收集的方法执行分析结果”,以此改善应用程序的预热时间。这使得 JIT 编译器能够在应用程序启动时立即生成本地代码,无需等待收集分析结果。
JEP 514,提前编译命令行人体工程学,提议简化创建提前编译缓存的过程,正如 JEP 483,提前编译类加载和链接 中所述,这可能通过“简化常见用例所需的命令”来加速 Java 应用程序的启动。
安全库
JEP 510,密钥派生函数 API,提议在经过一轮预览后最终确定该特性,它没有发生变更。这一轮预览是在 JDK 24 中交付的 JEP 478,密钥派生函数 API(预览)。该特性引入了一个用于 密钥派生函数(Key Derivation Functions,KDF) 的 API。KDF 是一种从密钥和其他数据派生额外密钥的加密算法,目标包括:允许安全提供者在 Java 或本地代码中实现 KDF 算法,并在 JEP 452,密钥封装机制(Key Encapsulation Mechanism) 的实现中使用 KDF。
HotSpot
JEP 519,紧凑对象头,提议将这个特性从实验阶段提升到产品阶段。受项目 Lilliput 的启发,这个特性“将 HotSpot JVM 中对象头的大小从 64 位架构上的 96 到 128 位减少到 64 位。”可以在这篇 InfoQ新闻 中找到更多关于 JEP 519 的细节。
JDK 26
JDK 26 计划在 2026 年 3 月发布 GA 版本,目前针对 JDK 26 仅有一个 JEP。然而,鉴于已有许多 JEP 候选和草案,特别是那些已经提交或增量预览的,我们可以推测哪些 JEP 有可能被包含在 JDK 26 中。
JEP 504,移除 Applet API(Remove the Applet API),已确定在 JDK 26 实现。这个 JEP 提议移除在 JDK 17 中已被弃用的 Applet API,因为 Applet 不再被网络浏览器支持,早已过时。
JEP 517,HTTP 客户端 API 的 HTTP/3(HTTP/3 for the HTTP Client API),提议更新 JDK 11 中交付的 JEP 321,HTTP Client,以支持 HTTP/3 协议。这将允许应用程序和库与 HTTP/3 服务器交互,并在代码更改最小的情况下获得 HTTP/3 的好处。
JEP 草案 8359894,稳定值(第二次预览),提议在第一轮预览(即 JEP 502,稳定值(预览))之后进行第二次预览。它以前称为计算常量(Computed Constants,预览),这个特性引入了计算常量的概念,定义为最多初始化一次的不可变值持有者。这提供了final
字段的性能和安全收益,同时在初始化时机上提供了更大的灵活性。
JEP 草案 8360563,PEM 编码的对象加密(第二轮预览),提议在第一轮预览(即 JEP 470:PEM 编码的对象加密(预览))之后进行第二次预览,以接受更多的反馈和经验。这个特性提供了“一个 API,用于将代表加密密钥、证书和证书吊销列表的对象编码到广泛使用的隐私增强邮件(Privacy-Enhanced Mail,PEM)传输格式中,并从该格式解码回对象。”这个 JEP 将支持 PEM 文本和 PKCS 和 X.509 二进制格式的加密对象之间的转换。
JEP 草案 8349536,让 fianl 名副其实(Prepare to Make Final Mean Final),将使 Java 生态系统做好必要的准备,不允许使用深度反射(通常使用AccessibleObject
类中定义的setAccessible()
方法)改变声明为final
的字段。
请注意,草案 JEP 可能随时更改。我们预计甲骨文公司将很快开始确定面向 JDK 26 的 JEP。
原文链接:
JDK 25 and JDK 26: What We Know So Far(https://www.infoq.com/news/2025/08/java-25-so-far/)
声明:本文为 InfoQ 翻译,未经许可禁止转载。
今日好文推荐
叮!极客邦 2025 秋招“通关文牒”已送达!
相关文章
亲,这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-09-09 0
您好:这款游戏可以开挂,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-09-09 0
您好:这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人...
2025-09-09 0
现在人们打棋牌麻将谁不想赢?手机微乐麻将必赢神器但是手机棋牌麻将是这么好赢的吗?在手机上打棋牌麻将想赢,不仅需要运气,也需要技巧。掌握的棋牌麻将技巧就...
2025-09-09 0
央视网消息:眼下,全国各地中小学已经开学。在浙江杭州,从这个新学期起,全市中小学全学段开始开展人工智能通识教育。通过分阶段课程设计与场景化实践,推动人...
2025-09-09 0
近日,有消息称,原vivo品牌副总裁、品牌与产品战略总经理贾净东已入职安克创新,担任首席营销官(CMO)。有知情人士表示,贾净东上个月就已入职。南都·...
2025-09-09 0
乌鲁木齐晚报讯(全媒体记者王媛媛 通讯员艾力西尔·阿卜杜艾尼报道)近日,历经3000多公里长途运输,祁曼750千伏输变电工程首批变电站构架顺利抵达...
2025-09-09 0
发表评论