Java 28功能初现雏形:新增JSON API,推进值对象与分代Shenandoah
作者: CBISMB
责任编辑: 邹大斌
来源: CBISMB
时间: 2026-08-13 12:00
浏览: 443
点赞: 29
收藏: 3
Java开发套件(JDK)28的形态正逐渐清晰。这是一个非长期支持(non-LTS)版本的Java标准版,属于"功能发布"版本,预计于2027年3月发布,Oracle将为其提供6个月的支持。
JDK 28的功能清单近期新增了一项简单JSON API,此外还包括值对象(value objects)预览、将Shenandoah垃圾回收器默认切换为分代模式,以及此前已提议面向该版本推出的JVM严格字段初始化预览。
简单JSON API:该提案定义了一个简单、标准的API,用于解析和生成JSON文档,使得相关操作不再依赖外部库。目标是让许多JSON处理任务仅需少量代码即可完成,为Java平台提供一种低仪式感的JSON数据交换格式处理标准方式。
此前已列入JDK 28的三项功能如下:
值对象(预览特性):值对象不可变且不具备对象身份,以其字段的值而非身份区分。JVM可以以提升性能的方式表示这类对象。该特性旨在为开发者提供一种不可变数据编程模型,使 `==` 运算符及其他所有操作都根据对象字段值而非身份来区分对象。这是语言和虚拟机层面的预览特性。
Shenandoah分代模式转正:将Shenandoah垃圾回收器的默认模式切换为分代模式,并弃用非分代模式,计划在未来版本中移除。此举旨在表明未来开发将聚焦分代模式,并降低同时维护两种模式的成本。不过,当前并不打算移除非分代模式。
严格初始化字段(预览虚拟机特性):JVM中的严格初始化字段必须在被读取前完成初始化,因此0或null这样的默认值永远不会被观察到;对于final严格初始化字段,总是能观察到相同的值。其目标是面向基于JVM的编程语言设计者,提供一种比现有模型具有更强完整性保证的字段初始化模型。
作为JDK 28的前身,JDK 27将于今年9月15日发布。JDK 27同样是非LTS版本,由Oracle提供6个月支持。