内容提要
本周Java回顾包括Spring Framework 6.2.0-M7、Project Loom Build 24-loom+4-42、Payara Platform、Open Liberty和Piranha Cloud的新版本发布、Gradle 8.10.0、Helidon 4.1.0和Eclipse JKube 1.17.0等。新功能包括错误处理、忽略bean注册和HandlerMethodValidator类的改进。Payara发布了8月2024版的Payara Platform,解决了与REST端点和域重启相关的问题。Open Liberty发布了24.0.0.8版,引入了版本无关的功能。Helidon 4.1.0支持JDK 22和JDK 23,还有其他改进。Quarkus 3.13.2提供了依赖升级和重要更改。Micrometer Metrics和Tracing发布了新版本,提供了依赖升级和新功能。Eclipse JKube 1.17.0发布了新功能,包括使用Jib构建多平台容器镜像和Helm插件的新功能。Project Reactor发布了新版本,提供了依赖升级。Piranha 24.8.0发布了重要更改。JHipster Lite 1.15.0发布了bug修复和新功能。Gradle 8.10发布了解决了许多问题和重要更改。
延伸解读
安全更新:Spring 框架修复两个 CVE
Spring Framework 的多个维护版本(6.1.12、6.0.23、5.3.39 和 5.3.38)修复了 CVE-2024-38809 和 CVE-2024-38808。前者影响解析 If-Match 或 If-None-Match 请求头中 ETag 的应用,可能导致拒绝服务;后者涉及特制的 SpEL 表达式,同样可能引发 DoS。使用这些版本的用户应尽快升级。
Project Loom 改进虚拟线程与同步方法的互操作性
Project Loom 的新构建 24-loom+4-42 基于 JDK 24 早期访问构建 11,改进了 Java 监视器(同步方法)的实现,以增强与虚拟线程的互操作性。这意味着在虚拟线程中使用同步方法时,行为将更符合预期,有助于减少潜在的死锁或性能问题。
Helidon 4.1.0 支持 JDK 22 和 JDK 23
Helidon 4.1.0 新增对 JDK 22 和 JDK 23 的支持,并提供了 MicroProfile 6.1 和 Helidon MP 的 gRPC 实现。此外,该版本移除了对 Java ConcurrentHashMap 的使用,转而使用 HashMap,原因是前者未提供对 ReentrantReadWriteLock 的服务加载。同时改进了 HTTP 序言和头部的解析。
Gradle 8.10 提升配置缓存性能
Gradle 8.10 支持 JDK 23,并显著改进了配置缓存:缓存文件大小大幅减少,加载速度加快。同时,GradleLifecycle API 的行为和回调执行也得到改进。这些优化有助于提升大型项目的构建效率。
Q&A
Spring Framework 6.2.0-M7的新特性有哪些?
Spring Framework 6.2.0-M7引入了错误处理改进、忽略bean注册选项和支持跨参数约束的HandlerMethodValidator类等新特性。
Payara Platform 2024年8月版解决了哪些问题?
Payara Platform 2024年8月版解决了与REST端点和域重启相关的问题,包括/clear-cache端点的拼写错误和方法参数修复。
Helidon 4.1.0支持哪些JDK版本?
Helidon 4.1.0支持JDK 22和JDK 23。
Gradle 8.10的主要改进是什么?
Gradle 8.10主要改进包括对JDK 23的支持、配置缓存的优化和GradleLifecycle API的改进。
Eclipse JKube 1.17.0新增了哪些功能?
Eclipse JKube 1.17.0新增了使用Jib构建多平台容器镜像的功能,以及在Maven和Gradle插件中更新Helm的能力。
Project Loom的最新版本有什么改进?
Project Loom Build 24-loom+4-42改进了Java监视器的实现,以增强与虚拟线程的互操作性。