JDK 28 前瞻推荐,十个新特性已定向,三大亮点值得等

先纠正一个常见误读,JDK 28 还没发布,正式版要到明年三月,当前处于特性陆续定向的开发阶段。但官方页面已敲定十个改进提案,其中三条堪称近年最有分量的变化,技术社区几十条讨论吵得热闹。我把官方项目页、路线图与社区讨论核了一遍,这篇前瞻帮 Java 开发者提前看清方向。

已定向的十个特性

先给状态口径,截至十月中,官方页面列出十个定向提案,其中七个为正式特性,三个为预览或孵化,清单在正式发布前还可能增减,现在写的每一项都可能在正式版前被砍掉,但历年经验看定向阶段的提案存活率不低,写前瞻的风险可控。早期体验构建已在官网开放,等不及可以拿工作环境外机器先试,生产环境等三月正式版,这个等值得。半年后长期支持版更稳,不急生产系统可直接等到那一步,急的再往前赶一步就是了,赶路开发者的时间表自己最清楚,工具链升级的坑踩过最明白。

三大亮点单独讲。第一,提前编译,把字节码在构建期直接编成原生代码,启动密集型工具与函数式部署延迟有望大幅缩短,这是 Java 追赶原生启动关键一步,追了这么多年终于摸到门把手。门把手之后赛段是内存占用,下一站还在路上。每一站都值得记路标,路标就是这份清单意义,意义在帮开发者提前选路,选好路团队升级时少踩一倍坑,省下时间写业务代码或者早点下班都行,下班自由是技术选对送的,送的自由换来了团队技术口碑,口碑在开发者圈子的流转速度比任何广告都快。第二,结构化并发转正,这个磨了七轮预览的并发模型终于要给正式接口,并发任务的生命周期管理从手工活变成声明式写法,七轮预览磨出来的东西稳定性有底气。第三,垃圾回收双线加速,一个回收器把分代模式设为默认,另一个拿到了更快启动与自适应堆大小两件新武器,官方社区提到启动可低至百毫秒级,百毫秒这个数字放在三年前没人信是 Java。三条加起来看,平台在啃的是同一块硬骨头,让 Java 在云原生时代继续站住脚。

其余条目速览。加密对象编码转正,密钥文件的读写标准化了,与开源工具链互操作少一套胶水。简单 JSON 接口进入孵化期,坚持严格标准,尾逗号与注释都不支持,这个决定在社区吵了整整一楼,吵的双方各自有理。值对象继续预览,这块拼图多预览一轮就离完工近一轮。macOS 英特尔端口进入弃用流程,用老 Mac 跑开发的该规划换机了,弃用是流程第一步,后续就是移除。

与上一版的衔接

JDK 27 上月中刚发布正式版,含九个提案,通用回收器全环境默认、后量子密钥交换、紧凑对象头默认开启是三条主线。本版的加密编码与结构化并发正是从 27 的预览转正,两版连起来看,平台的演进节奏稳定在半年一版。

社区吵什么

讨论里最有价值的是一场关于严格与宽容的争论。新 JSON 接口不支持尾逗号,反对者搬出老原则说接收端应该宽容,格式错误能猜就猜,支持者反驳说宽容的尽头就是超文本标记语言那团乱麻,浏览器当年宽容出了名结果兼容包袱背了二十年。两边都有道理,看你站哪边。另一场关于 Java 在 AI 时代价值同样精彩,反对者说语法冗长不再重要,代码都是模型写的,支持者反问,模型写的代码更需要一个可预测可观测的运行时兜底,而那正是 Java 的强项,模型犯错时类型系统与虚拟机的防线就是止损线。这场争论没有裁判,但两边的论据都值得读一遍。

一句话收尾,提前编译这一步迈出去,Java 的下一程值得重新估量。

来源

  • 官方项目页 https://openjdk.org/projects/jdk/28/
  • JDK 27 项目页 https://openjdk.org/projects/jdk/27/
  • 社区讨论 https://news.ycombinator.com/item?id=50135379
  • Oracle 路线图 https://www.oracle.com/java/technologies/java-se-support-roadmap.html