Java 28版本计划于2027年3月发布,作为非长期支持(non-LTS)的特性发布版,将引入原生简单JSON API,包含值对象(value objects)、Shenandoah垃圾回收器默认切换为分代模式、以及JVM严格字段初始化等预览功能。该版本由Oracle主导,提供六个月支持周期,主要面向企业级应用开发和语言演进测试。
新引入的简单JSON API旨在为开发者提供标准、轻量级的JSON解析与生成能力,无需依赖如Jackson、Gson等第三方库。该API设计目标是实现“零配置”数据交换,使常见场景如配置读取、接口响应构造、日志结构化等仅需少量代码即可完成。对于中国开发者而言,这意味着在构建微服务、物联网设备后端或内部管理系统时,可降低依赖管理复杂度,减少因外部库漏洞引发的安全风险,尤其适用于对包体积敏感的嵌入式或边缘计算场景。
值对象(value objects)作为语言和虚拟机层面的预览功能,强调不可变性与基于值的相等判断。传统Java中,两个对象内容相同,只要引用不同,equals()结果仍为false。而值对象通过字段值决定相等性,且可被JVM以更高效方式存储(如内联),有助于提升性能并减少内存开销。该特性对金融、物流、订单系统等需要高一致性数据的领域具有实际价值,但目前仍处于预览阶段,不建议在生产环境大规模使用。
Shenandoah垃圾回收器默认模式将从全堆扫描切换为分代模式,废弃非分代模式。此举意在统一后续优化方向,降低维护成本。分代模式能更高效处理短期存活对象,减少停顿时间,适合高并发、低延迟系统。对中国用户而言,若正在部署基于JDK的实时交易系统、高频数据处理平台或云原生应用,应关注此变化对GC调优策略的影响,提前评估现有应用在分代模式下的表现。
严格字段初始化(strict field initialization)要求所有字段必须在首次读取前完成赋值,禁止使用默认值如0或null。这对多线程环境下变量状态的可靠性至关重要,尤其在分布式系统或安全敏感组件中。该功能为JVM语言设计者提供了更强的初始化保障模型,未来可能影响Kotlin、Scala等语言在JVM上的实现方式。中国企业在采购或自研JVM语言工具链时,可将其视为一项潜在的技术趋势参考。
JDK 28并非长期支持版本,仅获得六个月官方支持。企业若计划在生产环境中采用其新特性,需制定明确的升级路径。建议优先在测试环境验证简单JSON API与值对象的兼容性,重点关注现有框架(如Spring Boot、MyBatis)是否已适配。由于部分功能仍为预览,编译时需启用特定标志(如--add-exports),且可能在后续版本中调整或移除。
- 核对项目是否依赖外部JSON库,评估迁移到原生API的可行性
- 检查现有应用在分代GC模式下的停顿时间和吞吐量表现
- 确认团队对值对象编程范式的理解程度,避免误用导致逻辑错误 。
