JDK 24 于2025年3月18日正式发布,作为自JDK 21以来的第三个非长期支持版本(非LTS),它带来了24项新特性(JEP),涵盖语言增强、性能优化、安全性提升等多个方面。以下是其核心新特性的分类总结:
一、语言与编程模型改进
-
模式匹配与原始类型支持
-
JEP 488(第二次预览):允许在
instanceof
和switch
中使用原始类型模式,消除基元类型在模式匹配中的限制,提升代码的简洁性和表达能力。int num = 5; switch (num) { case 5 -> System.out.println("The number is 5"); case 10 -> System.out.println("The number is 10"); default -> System.out.println("The number is not 5 or 10"); }```
-
JEP 492(第三次预览):灵活的构造函数体,允许在构造函数中分序言和表述阶段,提升代码的可靠性。
-
-
简化入门编程
- JEP 495(第四次预览):简化源文件与实例主方法,允许学生或开发者无需复杂语法即可编写单类程序,降低学习门槛。
二、核心库与API增强
-
流处理与类文件操作
-
JEP 485:流收集器(Stream Gatherers),支持自定义流中间操作,扩展
Stream API
的功能。 -
JEP 484:类文件API,提供解析和生成类文件的标准接口,便于工具开发。
-
-
并发与作用域值
-
JEP 487(第四次预览):作用域值(Scoped Values),替代线程局部变量,优化虚拟线程间的不可变数据共享。
-
JEP 499(第四次预览):结构化并发,通过
StructuredTaskScope
简化多线程任务管理,提升可维护性和可观测性。
-
三、安全与加密升级
-
抗量子加密算法
-
JEP 496:基于模块格的抗量子密钥封装机制(ML-KEM),符合FIPS 204标准,防范量子计算攻击。
-
JEP 497:基于模块格的抗量子数字签名算法(ML-DSA),增强数据完整性和身份验证。
-
-
安全机制调整
-
JEP 486:永久禁用安全管理器(Security Manager),简化安全模型以降低开发复杂度。
-
JEP 478(预览):密钥派生函数API,提升数据传输的加密安全性。
-
四、性能与运行时优化
-
垃圾收集器改进
-
JEP 404(实验性):分代Shenandoah垃圾收集器,提升吞吐量和内存利用率,未来计划设为默认模式。
-
JEP 490:移除ZGC的非分代模式,降低维护成本。
-
-
启动与内存优化
-
JEP 483:提前类加载与链接,通过缓存机制缩短启动时间(如Spring应用启动提速42%)。
-
JEP 450(实验性):紧凑对象头(64位架构下对象头从96-128位缩减至64位),减少堆内存占用。
-
五、平台与工具调整
-
弃用与移除
-
JEP 479:移除对Windows 32位x86平台的支持,简化构建和测试流程。
-
JEP 498:弃用
sun.misc.Unsafe
中的内存访问方法,并计划在JDK 26中彻底移除。
-
-
工具链优化
- JEP 493:无需JMOD文件即可链接运行时镜像,减少JDK体积约25%。
六、其他重要更新
-
JEP 489:向量API(第九次孵化),持续优化数值计算性能,适配AI推理等场景。
-
JEP 491:虚拟线程同步优化,允许虚拟线程释放底层平台线程,提升并发扩展性。
总结与展望
JDK 24通过多项实验性和预览特性为未来版本铺路,例如分代Shenandoah和紧凑对象头。同时,其安全性和性能优化(如抗量子加密和启动加速)直接回应了现代开发需求。开发者需注意即将被移除的特性(如JNI警告、安全管理器等),及时适配新规范。后续长期支持版本JDK 25预计于2025年9月发布,可能进一步推进结构化并发等特性。