开发者生态
evening
近期Java新闻:JDK 27进入收尾阶段、JDK 28专家组、GlassFish、Infinispan、Kotlin
2026-06-15
1 阅读
作者:Michael Redlich
OpenJDK 经过延长审查期后,JEP 538( 加密对象的 PEM 编码第三个预览版 ")已经从 Proposed to Target 阶段 提升 "至 Targeted 阶段,并被纳入 JDK 27 的开发计划。该 JEP 曾经在 JDK 25 和 JDK 26 中做过两轮预览。它提供“一个 API,用于将表示加密密钥、证书和证书撤销列表的对象编码为广泛使用的增强隐私邮件(PEM)传输格式,以及从该格式解码回对象”。该 JEP 将支持 PEM 文本与 PKCS #8 " 及 X.509 " 二进制格式中的加密对象之间互相转换。变更内容包括:将 PEM 记录类重新分类为普通类,以便提供可接受字节数组中 Base64 编码内容的构造函数;将 DEREncodable " 接口重命名为 BinaryEncodable,从而更准确地描述 PEM 文本中存储的二进制数据。 JDK 27 JDK 27 的 早期访问构建 " Build 25 " 发布,它是 Build 24 的 升级 ",修复了各种问题。要了解关于这个构建的更多细节,请查看 发布说明 "。 根据 JDK 27 的 发布计划 ",甲骨文公司 OpenJDK 工程联络人 Iris Clark " 正式宣布,JDK 27 已经进入第一阶段收尾。这意味着主线源代码库已经分叉至 JDK 稳定版库 ",而且 JDK 27 " 将不再新增任何 JEP。因此,2026 年 3 月的正式发布版最终包含了以下九项功能: JEP 523: 将 G1 设为所有环境的默认垃圾回收器 "JEP 527: 面向 TLS 1.3 的后量子混合密钥交换 "JEP 531: 惰性常量(第三版预览) "JEP 532: 模式、instanceof 和 switch 中的基本类型(第五版预览) "JEP 533: 结构化并发(第七版预览) "JEP 534: 默认使用紧凑对象头 "JEP 536: JFR 进程内数据脱敏 "JEP 537: 向量 API(第十二轮孵化) "JEP 538: 加密对象的 PEM 编码(第三版预览) " 对于 JDK 27 ",鼓励开发者通过 Java Bug 数据库 "报告错误。 原本在经过两轮预览后,JEP 538 已经确定要纳入 JDK 27 了,但由于最后一刻收到的反馈,最终决定进行第三轮预览。 JEP 528( 使用 jcmd 进行崩溃事后分析 ")原本计划纳入 JDK 27,但在 Proposed to Target 阶段被撤回至候选状态。 JDK 28 JSR 403( Java SE 28 ")已经于上周通过审批,正式公布了 JDK 28 的四人专家组成员名单,分别是 Simon Ritter "(Azul Systems)、 Iris Clark "(Oracle)、 Stephan Herrmann "(Eclipse Foundation)和 Christoph Langer "(SAP SE)。Clark 将担任规范负责人。 当前的重要时间节点 "包括:2026 年 12 月至 2027 年 2 月的公开评审,以及 2027 年 3 月的正式发布(GA)。 上周还发布了 JDK 28 的早期访问构建 Build 0 " 和 Build 1 ",其中包含解决这些初期 问题 "的更新。目前尚无相关的发布说明。 关于 OpenJDK 和 JCP 专家组的更多见解,可以参阅 2025 年 12 月发布的 这期 InfoQ 播客 ",嘉宾为 Azul 副首席技术官 Simon Ritter。 GlassFish GlassFish " 8.0.3 发布,带来了 Bug 修复、文档改进、依赖项升级以及一些新特性,包括:针对嵌入式 GlassFish 的启动速度做了若干优化;使用新版 Eclipse Mojarra " 将 Jakarta Faces 页面的渲染速度提升了一倍;在 CDI 集成层中缓存重复的反射调用,进一步优化 GlassFish 性能; 修复了 CVE-2024-9342 漏洞 "。该漏洞存在于 GlassFish 7.0.16 及更早版本中,由于未对登录失败次数进行限制,攻击者可以对管理控制台和 REST API 发起 暴力破解认证攻击 "。要了解有关该版本的更多详情,请参阅 发布说明 "。 面向 Jakarta EE TCK 的 GlassFish 池 OmniFish " 宣布 ",其即将发布的 GlassFish Arquillian Connectors Suite 2.2.0 " 版本现在已经消除了 Jakarta EE 技术兼容性测试套件(TCK)存在的传统开销,使 TCK 测试可以在数分钟内完成,而不是数小时。这一成果得益于“在整个反应器中共享一组预先启动的 GlassFish 实例”。 这个更新版本包含 Arquillian Container GlassFish Pool " 及其对应的 Maven 插件 "。该 GlassFish 池在运行时实现了 Arquillian 的 DeployableContainer " 接口,它会在测试 JVM 运行期间租用一个槽位,并通过 CommonGlassFishManager " 类的实例将其部署到所租用槽位的域管理服务器(DAS)上。 Micronaut Micronaut 基金会发布 Micronaut 框架 "的 5.0.2 " 和 5.0.1 " 版本。这些版本基于 Micronaut Core 5.0.2 " 和 Micronaut 5.0.1 ",并对以下模块进行了补丁更新: Micronaut Data "、 Micronaut for Spring "、 Micronaut LangChain4j "、 Micronaut GraphQL " 以及 Micronaut JSON Schema "。 这些版本还处理了以下安全公告: GHSA-387m-935m-c4vw "(该漏洞因未对 HTTP 重定向设置限制,可能导致无限重定向循环,进而引发拒绝服务攻击)以及 GHSA-q6gh-6v2r-hjv3 "(该漏洞在于 DefaultHttpClient " 类在跨源重定向时会转发敏感标头)。 此外,它们还将 Netty 升级至 4.2.15 " 版本,修复了大量 CVE 漏洞。要了解有关这些版本的更多详细信息,请参阅 5.0.1 " 和 5.0.2 " 版本的发布说明。 Open Liberty Open Liberty " 26.0.0.6 Beta 测试版 "附带了一个 Beta 预览版的 HTTP 传输(基于 Netty )。 LibertyHttpObjectAggregator " 类的实例在等待请求正文内容时会阻塞管道,导致死锁并引发超时,该版本解决了这个问题。另一方面,客户端在发送请求正文内容之前,正在等待 HTTP 状态码 100( Continue ")的响应。 Infinispan Infinispan " 16.2.0(代号 Arctic Panzer Wolf ") 发布 ",带来了多项值得注意的变更,包括