Oracle Java团队宣布停止开发“原始类型在模式、instanceof和switch中的应用”功能,撤回相关JEP草案,并将其从JDK 28中移除。
《Java Annotated Monthly》2026年11月号汇总Java生态动态:JDK 28将正式确定结构化并发,并引入简易JSON API、值对象等预览特性;Vector API已在Lucene等生产项目中使用。内容还涵盖Kotlin 2.5测试版、KotlinConf 2027、AI编程代理实践与效率争议、Spring相关技术,以及各地Java会议日程和IntelliJ IDEA 2026.3更新。
OpenJDK质量组呼吁FOSS项目使用JDK 28进行测试。JEP 401将值类作为预览特性引入,启用预览后,Integer、Optional、LocalDate等30个JDK类变为值类,带来==按值比较、无法同步、反射受限等兼容性变化,记录构造器也需遵循新规则。建议项目分别在禁用和启用预览两种模式下构建测试,并将问题反馈至valhalla-dev邮件列表。
JDK 28计划引入由Oracle Java团队推进的JEP 544提前编译(AOT),旨在提升Java程序的启动与运行效率。
JDK 28将引入JEP 543结构化并发,该提案已获目标定位,旨在简化多线程编程中的并发任务管理。
OpenJDK已将JEP 546“ZGC自适应堆大小调整”列为JDK 28的目标,该特性使ZGC能够根据运行情况自动调整堆大小。
JEP 545 已列入 JDK 28 目标,旨在利用 ZGC 加快 Java 应用的启动与预热速度。
JDK 28 将引入 JEP 542,为加密对象提供 PEM 编码支持,实现密钥和证书的标准化读写。
自JDK 28起,受限Arena(Arena.ofConfined())可直接从小型原生内存池分配内存,无需修改源码。每个平台线程默认缓存4个64字节内存池,首次分配时延迟获取,关闭后归还;虚拟线程临时借用载体线程的池,避免为每个虚拟线程建立缓存。该优化保持生命周期、零初始化和线程封闭语义,显著降低小分配延迟,适用于频繁调用原生代码的场景。
OpenJDK 计划在 JDK 28 中引入 JEP 540“简单 JSON API”(孵化版),为 Java 提供标准 JSON 处理接口。
OpenJDK 计划在 JDK 28 中弃用 macOS/x64 移植版,并准备将其移除(JEP 541)。
JDK 28 将预览 JEP 539:JVM 严格字段初始化,以更严格地约束字段初始化行为。
JDK 28 将预览由 Oracle Java 团队推进的 JEP 401 值对象。
Oracle在JDK 27和28中显著提升了Curve25519字段运算性能,优化了X25519、Ed25519及X25519MLKEM768算法。软件改进使吞吐量增加27-54%,新增的x86_64和AArch64架构内建函数进一步带来7-20%提升。这些改进通过JCE和JSSE API惠及密钥生成、签名及TLS 1.3混合密钥交换,鼓励用户试用早期版本并提供反馈。
Project Valhalla正改进Java对自定义数值类型的支持,涵盖值类型及运算符重载探索。虽不太可能允许任意运算符定义,但可能支持有限重载,使自定义类型可用加减乘除符号操作。JDK 28 EA版本已引入值类型,相关讨论在JavaOne 2026的“Ask the Architects”播客中展开。
JDK 28新增功能:jdk.TLSHandshake JFR事件现可记录TLS握手期间协商的命名组信息(如X25519MLKEM768),帮助分析密钥交换细节。该事件默认禁用,需通过JFR配置或启动参数启用,并用jfr print查看。Oracle鼓励用户下载早期版本测试并反馈。
Oracle Java团队发布JDK 28早期构建,引入值类型预览及JSON API提案(JEP 540)。计划将后量子密码学移植至LTS版本,并将安全更新频率从季度改为月度。JDK 27发布推迟,相关JEPs已合并。
Valhalla项目经过十二年发展,JEP 401(值类和值对象)以预览形式进入JDK 28。值对象移除身份,优化内存存储,提升性能。JDK 28是第一阶段,后续将引入非空类型和特化泛型,旨在解决Java内存布局与硬件脱节的问题。尽管取得进展,仍面临许多挑战和限制。
完成下面两步后,将自动完成登录并继续当前操作。