两项OpenJDK JEP同步晋升Candidate阶段
本期Java生态迎来一批值得关注的版本动态,核心看点集中在两个从JEP Draft状态进入Candidate阶段的OpenJDK提案上。
JEP 544全称为「预先代码编译」(Ahead-of-Time Code Compilation),由此前的JEP Draft 8335368晋升而来。它的目标是在HotSpot JVM启动环节借助经过优化的原生代码改善应用启动速度与预热表现,让程序能够更迅速地逼近并保持峰值性能。
据InfoQ报道,这是HotSpot首次获得生产级别的预编译(AOT)能力支持。与此同步,JEP 543「结构化并发」(Structured Concurrency)也从JEP Draft 8389757跃升至Candidate。经过JDK 21到JDK 27之间七轮预览,以及JDK 19、JDK 20阶段的两轮孵化,该提案终于定稿,眼下内容未作任何改动。
结构化并发的思路是把分布在不同线程中的关联任务当作一个整体工作单元来处理,从而让错误处理与任务取消更简洁,可靠性和可观测性也随之增强。以上两项JEP共同为Java平台开发者、JVM性能调优工程师和并发编程架构师提供了新的技术底座。
JDK 27与JDK 28早期访问构建版本更新
JDK 27的早期访问构建已推出Build 35,具体内容可查阅对应的发行说明。JDK 28的早期访问构建也发布了Build 15,它在Build 14基础之上做了修订,修复了若干问题,官方说明同样收录在发行说明中。官方同时建议开发者在JDK 27和JDK 28上发现问题时,通过Java Bug Database提交漏洞报告。
Jakarta CDI 5.0获批 多项规范和工具跟进
Eclipse基金会Jakarta EE开发倡导者Ivar Grimstad在每周的Hashtag Jakarta EE博客中,带来了Jakarta EE 12的最新进展:Jakarta Contexts and Dependency Injection(CDI)5.0日前获得规范委员会批准,成为面向Jakarta EE 12的第一份规范。该里程碑意义重大,因为CDI属于整个平台中最核心的规范之一。后续还会有更多其他规范陆续发布。
与此同时,Starter for Jakarta EE重新设计了界面,使其风格与Jakarta EE官网保持一致。官方邀请开发者体验这一版新UI,并给出反馈意见。
2025年11月初获批设立的Jakarta Agentic AI 1.0规范,近日发布了M1版本并上线了全新项目站点。2026年8月版的Azul Payara成为该规范的首个落地实现。
TornadoVM、Spring Tools与Open Liberty的技术变更
TornadoVM在6.0面世大约一周后,跟进推出6.1.0。该版本不仅修复了缺陷,还降低了宿主在每次操作上的固定开销——当相关数据没有变化时,跳过每次启动都会生成的那份24字节内核参数内核栈帧上传;若没有任何任务入队,则省去流同步环节。完整信息可参见其发行说明,InfoQ还将就6.0.0版本给出更详细的报道。
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文件中的配置元素名称也相应做了调整。
Groovy 6.0与Gradle 9.8首个候选版本发布
Apache Groovy 6.0.0释出了第一个发布候选版本。其内容涵盖缺陷修复、依赖升级以及多项新特性:新加入的@GroovyABI注解可以标记那些能够被字节码直接调用、属于Groovy ABI组成部分的方法;JsonSlurper类获得改进,加入了maxNumberLength属性,一旦数值标记长度越界就会抛出JsonException;XmlNodePrinter类也做了增强,以承载更大的文档处理需求。详细说明参见发行说明。
Gradle与语言工具链同步跟随Java 27的脚步。据InfoQ报道,Gradle 9.8.0的首个候选版本带来了多项新特性:其daemon进程和Java工具链已支持尚未正式发布的Java 27;用一个简单标志即可复用Maven的镜像仓库配置;在Windows操作系统上性能提升了45%。更深入的信息可从发行说明获取。
ADK for Kotlin 1.0与配套工具更新
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问题。更多信息见5.1.5与5.1.4各自的发行说明。
Improving首席软件顾问Jim Bethancourt推出了RefactorFirst 0.10.0。这是一个用于判定应用中有哪些部分值得优先重组的辅助工具。本次版本带来了缺陷修复和两项新功能:一是规定Java最低版本为JDK 17;二是支持Kotlin源码文件处理,这样把同时存在Java与Kotlin源码的所有代码视为统一代码库。发行说明中提供了更完整的细节。
谷歌方面释出了ADK for Kotlin 1.0,这一开发工具包的目标是让开发者能够在Kotlin与Android上构建生产级别的AI智能体。官方表述提到,该版本「通过惯用的Kotlin API,为Kotlin、Java以及Android开发者提供与ADK 1.0 Core的完全对等功能,并新增面向Android的设备端扩展」,使得智能体既能运行于JVM,也能落在设备端。
新功能包括:增添MultiAgentLoader类,用按名称组织固定智能体集合的方式来补足SingleAgentLoader类;AdkServerConfig类中增加流式builder()方法,Java开发者无须再借助包含全部参数的数据类构造函数就能完成服务器配置。详情参见发行说明。
小结:就此轮更新来看,OpenJDK的两个JEP从草拟状态迈入候选水准,标志着AOT编译正式爬上HotSpot的台面、结构化并发也终结了长时间预览,为后续Java版本铺垫了性能与并发基础脚手架。搭配CDI 5.0获批、Open Liberty的MCP从实验进GA,也宣告由Jakarta EE 12引领的规范集群开始集中成型,加上Spring Tools、Micronaut与Gradle围绕Java 27所做的快速适配,值得开发者按自身版本节奏留意跟进。
