Java 24 新特性抢先看
原创大约 2 分钟
Java 24 新特性抢先看
计划于2025年3月发布的JDK 24 GA版本目前仅包含一个针对JDK 24的JEP。然而,根据已提交的JEP候选和草案,可以推测出其他可能被纳入JDK 24的JEP。以下是一些关键的JEP及其进展:
JEP 472:准备限制对JNI的使用
该JEP提议限制与JDK 22中引入的外部函数和内存(FFM)API中的受限方法一起使用的JNI。从JDK 23开始,如果FFM用户未启用不安全的本地访问,Java运行时将显示有关使用JNI的警告,未来版本中将抛出异常而非警告。
JEP 404:分代Shenandoah(实验性)
尽管目前处于Candidate状态,但已更新并包含在JDK 24中。预计将很快提升为Proposed to Target状态。该JEP最初目标为JDK 21,但由于审查风险和时间限制被移除,Shenandoah团队决定在未来版本中实现最佳的分代Shenandoah。
JEP 401:值类和对象(预览版)
在Valhalla项目的支持下,引入开发人员声明的基元类,这些类由Value Objects API定义,用于定义新的基元类型。
JEP 草案 8334712:类文件API
经过两轮预览后,计划在JDK 24中完成该特性。该API用于解析、生成和转换Java类文件,最初作为JDK中ASM的内部替代品,未来将作为公共API开放。
JEP 草案 8326035:CDS对象流
提议在ZGC中添加CDS对象归档机制,具有统一的CDS对象归档格式和加载器,使GC实现细节与CDS存档对象流机制分离。
JEP 草案 8300911:PEM API(预览版)
引入用于编码和解码隐私增强邮件(PEM)格式的API,用于存储和发送加密密钥和证书。
JEP 草案 8291976:在HttpClient中支持HTTP/3
提议更新JDK 11中的HTTP客户端以支持HTTP/3协议,使应用程序和库能够与HTTP/3服务器交互,并获得HTTP/3的好处。
JEP 草案 8312611:稳定值(预览版)
引入计算常数的概念,定义为最多初始化一次的不可变值持有者,提供final字段的性能和安全优势,同时增加初始化时间的灵活性。