JDK 21 到 JDK 27,七轮预览。再加 JDK 19 和 JDK 20 的两轮孵化。结构化并发这个特性,终于从 JEP Draft 8389757 提升为 Candidate 状态。

这是 OpenJDK 本周最值得关注的一条动态。JEP 543 目前没有任何改动,意味着它已经进入定稿前的最后阶段。它的核心思路是把不同线程中运行的相关任务组,当成一个单一工作单元来处理。

打开网易新闻 查看精彩图片

听起来抽象,落到代码里就是:错误处理和取消操作变简单了,可靠性提高,可观测性增强。并发编程里那些"一个任务挂了,其他任务还在跑"的尴尬场景,有了统一的收口方式。

另一条 JEP 也在动

JEP 544,预先代码编译(Ahead-of-Time Code Compilation),同样从 JEP Draft 8335368 提升为 Candidate 状态。

它的目标很明确:在 HotSpot JVM 启动时,通过优化后的原生代码提升应用的启动与预热时间,让应用更快达到并维持峰值性能。启动慢、预热久,一直是 JVM 被诟病的点,这条 JEP 直接冲着这个痛点去。

两条 JEP 同时转 Candidate,OpenJDK 在并发模型和启动性能两个方向上都摆出了动作。

JDK 27 和 JDK 28 的早期构建

JDK 27 早期访问构建版本发布了 Build 35。JDK 28 早期访问构建版本发布了 Build 15,包含来自 Build 14 的更新,修复了若干问题。

两个版本都鼓励开发者通过 Java Bug Database 报告漏洞。早期访问构建的意义就在这——问题越早暴露,正式版越稳。

Jakarta EE 12 的第一个规范落地

Eclipse 基金会的 Jakarta EE 开发倡导者 Ivar Grimstad 在每周的 Hashtag Jakarta EE 博客中给出了更新:Jakarta Contexts and Dependency Injection(CDI)5.0 已被规范委员会批准,成为面向 Jakarta EE 12 的第一个规范。

CDI 是平台上最核心的规范之一,它率先获批,对 Jakarta EE 12 来说是一个重要里程碑。更多规范会随后发布。

同一篇博客里还提到两件事:Starter for Jakarta EE 的设计已经刷新,与 Jakarta EE 网站的设计保持一致,开发者可以试用新 UI 并提供反馈;2025 年 11 月初批准创建的 Jakarta Agentic AI 1.0 规范,近期发布了 M1 版本并上线了新的项目网站,2026 年 8 月版的 Azul Payara 成为该规范的首个实现。

框架与工具链的版本节奏

Spring Tools 5.4.0 发布,带来缺陷修复、对 Eclipse IDE 2026-09 的依赖升级,以及若干新特性:新增验证检查和快速修复,把组合使用的 @Controller 与 @ResponseBody 注解替换为 @RestController;采纳 Spring Modulith 的 @ApplicationModuleListener 注解;启用 Claude Code 插件以渲染项目的逻辑结构。

Open Liberty 26.0.0.9 GA 版本发布,提供缺陷修复、多个 CVE 的修复,以及若干重要变更:将 MCP Server 功能(mcp-1.0)从实验性提升为 GA;实现 OAuth 2.0 Protected Resource Metadata(RFC 9728)规范,允许开发者在使用 OpenID Connect Client(openidConnectClient-1.0)时启用受保护的资源元数据。

这次发布带来不兼容变更:MCP Server 功能名从 mcpServer-1.0 更改为 mcp-1.0,server.xml 中的配置元素也做了相应调整。升级前需要留意。

Micronaut 基金会发布了 Micronaut Framework 5.1.5 和 5.1.4,分别基于 Micronaut Core 5.1.15 与 5.1.14。主要变更包括 Micronaut Data 的补丁更新、修复三项 CVE,以及将 Netty 升级到 4.2.18.Final 以解决若干 CVE。

Groovy、Gradle 与两个小版本

Apache Groovy 6.0.0 的第一个发布候选版本提供了缺陷修复、依赖升级与新特性:新增 @GroovyABI 注解,用于标记可直接从字节码调用的方法作为 Groovy ABI 的一部分;改进 JsonSlurper 类,新增 maxNumberLength 属性,当数值标记长度超出该值时抛出 JsonException;改进 XmlNodePrinter 类以处理更大的文档。

Gradle 9.8.0 第一个候选版本发布,新特性包括:在 Gradle daemon 与 Java 工具链中支持即将发布的 Java 27;通过简单标志支持复用 Maven 的镜像仓库设置;在 Windows 上提升了 45% 的性能。

TornadoVM 在 6.0 版本发布约一周后推出 6.1.0,带来缺陷修复以及对宿主每次操作固定成本的改进:当内容相同时,跳过上传每次启动时生成的 24 字节内核参数内核栈帧;当未入队任何内容时,跳过流同步。

Improving 的首席软件顾问 Jim Bethancourt 发布了 RefactorFirst 0.10.0,这个工具用于优先识别应用中应该重构的部分。此版本提供缺陷修复与两项新特性:将 JDK 17 设为最低的 Java 版本;支持 Kotlin 源码文件处理,使含有 Java 与 Kotlin 源码的代码库被视为统一代码库。

谷歌的 Kotlin AI 工具包

谷歌发布了 ADK for Kotlin 1.0,一个用于在 Kotlin 与 Android 中构建生产就绪 AI 智能体的开发工具包。

该版本实现了"通过惯用的 Kotlin API 为 Kotlin、Java 与 Android 开发者提供与 ADK 1.0 Core 的完全对等功能,并新增面向 Android 的设备端扩展,以便在 JVM 或设备端构建智能体"。

新特性包括:新增 MultiAgentLoader 类,用于按名称提供固定集合的智能体,补充 SingleAgentLoader 类;在 AdkServerConfig 类中新增流式 builder() 方法,允许 Java 开发者在无需全参数数据类构造函数的情况下配置服务器。

从 JEP 到框架,从工具链到 AI 智能体开发包,这一轮更新的密度不低。结构化并发和预先代码编译两条 JEP 转 Candidate,是其中最需要盯紧的信号。