Featured image of post Java 生态一周:Shenandoah 分代默认计划进 JDK 28,TeamCity 漏洞遭利用

Java 生态一周:Shenandoah 分代默认计划进 JDK 28,TeamCity 漏洞遭利用

JDK、构建工具与应用服务器同步更新。

JDK 路线图出现关键调整

JDK 路线图出现关键调整

OpenJDK 近期最值得关注的变化,是 JEP 535 已进入 Targeted 阶段,计划随 JDK 28 交付,并把 Shenandoah 垃圾收集器默认切换为分代模式。Shenandoah 是一种以降低停顿时间为目标的垃圾收集器;“分代模式”则是按照对象存活时间分区管理内存,利用多数对象生命周期较短这一经验来提升回收效率。该 JEP 同时提出,非分代模式将被标记为弃用,并在未来版本中移除。

JDK 27 和 JDK 28 的早期访问构建也继续推进:

  • JDK 27 Build 34:从 Build 33 升级,修复多项问题。
  • JDK 28 Build 10:从 Build 9 升级,同样以问题修复为主。
  • JDK 27 首个 RC 日期:由 2026 年 8 月 6 日推迟到 2026 年 8 月 20 日。

甲骨文 Java 平台组首席架构师 Mark Reinhold 解释称,调整与关键补丁更新(CPU)发布频率增加有关,并与 2026 年 8 月 18 日的下一次 CPU 对齐。代价是 RC 反馈窗口从五周零四天缩短到三周零四天。按照他的说法,六个月发布节奏以来,需要第二个 RC 的版本不到一半,且触发缺陷并非来自最终用户报告,因此风险仍可接受。

安全更新成为应用服务器与 CI 的主线

GlassFish 8.0.4 发布,包含 Bug 修复、文档改进、依赖升级和新功能。其中,AutoDeployer 与 FileArchive 类得到改进,加入防止文件从归档文件泄露的保护机制。更重要的是,该版本修复了多个安全漏洞:CVE-2026-59889 与 CVE-2026-54515 均与 Jackson Databind 反序列化相关;另一个更严重的 CVE-2026-12605 则涉及管理控制台中 DownloadServlet 类泄露 gfresttoken,攻击者可在令牌过期前无须身份验证接管 GlassFish 域。

JetBrains 也就 TeamCity 漏洞 CVE-2026-63077 给出进一步指导。该漏洞允许可通过 HTTP(S) 访问 TeamCity 服务器的攻击者绕过身份验证检查并执行任意操作系统命令。已有报告显示,未打补丁的 TeamCity 服务器已出现活跃利用和利用尝试。建议升级至 TeamCity 2025.11.7 或 2026.1.3;若暂时无法升级,TeamCity 2017.1 及以上版本应应用安全补丁插件。

AI、代理协议与集成框架继续靠近 Java

AI、代理协议与集成框架继续靠近 Java

A2A Java SDK 1.2.0 发布。该 SDK 实现 Agent2Agent 协议,用于把代理型应用作为 A2A 服务器运行。新版本包含 Bug 修复、依赖升级,并支持非 CDI 集成复用既有授权流程。CDI 是 Java 生态中的依赖注入规范,常用于统一管理组件生命周期。新加入的 TaskStreamLifecycleHook 接口可监听任务流生命周期事件,StreamCloseHandle 接口则允许按需关闭某个任务在 EventQueue.ChildQueue 中的所有实例。

Apache Camel 4.22.0 的重点同样指向 AI 集成。Camel 是企业集成框架,用于把不同系统、协议和数据流连接成路由。此次新增 camel-ai-tool,使 AI 框架能够发现通用工具;新增 camel-mcp-server,使开发者可创建 Camel 路由,并将其作为兼容 MCP 客户端可发现、可调用的工具。MCP 可简单理解为一种让 AI 客户端连接外部工具和上下文的协议。

框架与构建工具稳步演进

Apache Grails 8.0.0 第五个里程碑版本提供 Bug 修复和依赖升级,并重构 GlobalGrailsClassInjectorTransformation,提取辅助方法以简化流程;同时扩展 plugin.xml 处理能力并实现隔离构建行为。GrailsUtil.deepSanitize() 现在可识别 grails.logging.stackTraceFiltererClass 与 grails.exceptionresolver.logFullStackTraceOnFilter 属性值。

Gradle 9.7.0 则把“隔离项目”的性能特性从实验阶段推进到孵化阶段,并优化配置缓存。配置缓存的核心作用,是在后续构建中复用已缓存的配置阶段结果,从而缩短构建时间。该版本还改进安全性与基础设施,让记录可信 PGP 密钥和发现签名密钥轮换更方便。

生态判断:性能、供应链安全与 AI 接口并行推进

这组更新体现出 Java 生态的三条主线。第一,JDK 继续在可预测节奏下演进,Shenandoah 分代默认化意味着低停顿 GC 的工程化路线进一步成熟。第二,CI/CD 与应用服务器的安全补丁不再只是例行维护,TeamCity 漏洞出现活跃利用,GlassFish 修复令牌泄露类问题,都提醒团队把升级窗口纳入常态化治理。第三,A2A SDK 与 Camel 的 AI/MCP 能力说明 Java 正在以“集成层”和“企业后端”的方式接入代理应用浪潮。短期看,开发者最应优先处理可被远程利用的安全更新;中长期看,构建性能、GC 默认策略和 AI 工具发现机制,将共同影响 Java 项目的运行效率与架构边界。