Java 25 是 Java 平台的下一个长期支持(LTS)版本,于 2025 年 9 月 16 日正式发布(General Availability)。这是一个重要的里程碑版本,它在语言、标准库、API 和运行时方面引入了多项增强功能,总共包含 18 个 JEP(JDK Enhancement Proposal),其中包括 5 个针对 AI 开发的特性、多个预览和孵化功能,以及性能优化和安全改进。这些变化旨在提升开发效率、应用性能和安全性,特别是支持后量子加密(PQC)和 AI 相关工作负载。
相比上一个 LTS 版本 Java 21,Java 25 积累了多个版本的迭代,包括模式匹配的进一步完善、虚拟线程的成熟,以及运行时的优化。如果你从较早版本升级,还会获得如 Foreign Function & Memory API 等中间版本的功能。
以下是 Java 25 的主要新功能列表,我根据官方 JEP 和可靠来源(如 Oracle、OpenJDK 和 InfoWorld)整理,使用表格形式呈现,便于比较。表格中标注了功能类型(标准/预览/孵化/实验)和简要影响。
| JEP 编号 | 功能名称 | 类型 | 主要描述 | 影响与益处 |
|----------|----------|------|----------|------------|
| JEP 509 | JFR CPU-Time Profiling | 实验 | 在 Linux 上使用内核 CPU 定时器捕获 Java 程序的 CPU 时间剖析,支持 JFR(JDK Flight Recorder)的优化。 | 帮助开发者在 Linux 环境中更精确地诊断性能瓶颈,提升应用效率;未来可能扩展到其他平台。 |
| JEP 510 | PEM Encodings of Cryptographic Objects | 标准 | 支持 Privacy-Enhanced Mail (PEM) 格式的加密对象编码,符合 RFC 5705 和 RFC 8446。 | 增强 TLS/SSL 安全,支持新 API 如 `javax.net.ssl.ExtendedSSLSession`,便于处理现代加密需求。 |
| JEP 511 | Structured Concurrency (Third Preview) | 预览 | 结构化并发第三次预览,支持 `try-with-resources` 风格的并发任务管理。 | 简化多线程代码,减少并发 bug,提高代码可读性和可靠性。 |
| JEP 512 | Compact Object Headers | 标准 | 对象头压缩,减少内存占用(从 12 字节降至 8 字节)。 | 显著降低内存使用,尤其在高对象密度应用中;对 GC 和性能有积极影响。 |
| JEP 513 | Ahead-of-Time Command-Line Ergonomics | 标准 | 新 JVM 标志 `-XX:AOTCacheOutput`,禁用动态特性以评估 AOT(Ahead-of-Time)编译兼容性。 | 为未来 AOT 编译铺路,帮助开发者识别反射/类加载问题,支持 Project Leyden 的静态图像生成。 |
| JEP 514 | Key Derivation Functions | 标准 | 新 API 支持密钥派生函数(KDF),作为后量子加密(PQC)的构建块。 | 提升加密安全性,防范量子计算攻击;Oracle 强调这是 AI 和安全领域的关键进步。 |
| JEP 515 | Primitive Types in Patterns, instanceof, and switch (Third Preview) | 预览 | 基本类型在模式匹配、instanceof 和 switch 中的第三次预览。 | 扩展模式匹配功能,使代码更简洁,支持如 `int` 等基本类型的直接模式处理。 |
| JEP 516 | JFR Cooperative Sampling | 标准 | JFR 的协作采样模式,减少采样开销。 | 改善运行时诊断工具的性能,适用于生产环境监控。 |
| JEP 517 | JFR Method Timing and Tracing | 标准 | JFR 支持方法计时和跟踪,增强方法级剖析。 | 提供更细粒度的性能洞察,帮助优化热点代码。 |
| JEP 518 | Shenandoah Garbage Collector | 标准 | 引入 Shenandoah GC,支持低延迟收集。 | 适用于实时和高吞吐应用,减少 GC 暂停时间。 |
#### 其他重要变化和改进
- **性能优化**:String::hashCode 方法利用常量折叠优化,尤其在静态不可变 Map 中使用字符串键时性能提升显著。 此外,运行时整体更快,包括更好的内存管理和 GC 效率。
- **移除支持**:放弃 32 位 x86 端口维护,专注于 64 位架构,以加速新功能开发。 这意味着旧 32 位系统需升级到 64 位。
- **AI 和安全重点**:Oracle 突出 5 个 AI 相关特性(如 JFR 增强和 PQC 支持),帮助构建高效 AI 应用。
- **工具支持**:IntelliJ IDEA 等 IDE 已快速集成新功能,包括检查、快速修复和调试支持。
#### 升级建议
Java 25 是自 Java 21 后的下一个 LTS,推荐尽快迁移,尤其是对性能和现代功能有需求的项目。下载地址:Oracle JDK 或 OpenJDK(jdk.java.net)。完整变更日志见 [Oracle JDK 25 Release Notes](https://www.oracle.com/java/technologies/javase/25-relnote-issues.html)。 如果你是从 Java 21 升级,重点关注模式匹配和并发预览功能,这些将极大简化代码。
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!