Java 周报总结 - 2023年4月10日
本周的Java周报涵盖了多个重要项目的更新和发布,包括OpenJDK、JDK 21、Spring框架、GraalVM、MicroStream、Micronaut、Helidon、Hibernate、Micrometer、Piranha、Reactor和Gradle等。
OpenJDK
- JEP 444 (虚拟线程):已从“Proposed to Target”状态提升为“Targeted”状态,将在JDK 21中提供虚拟线程功能,显著减少编写、维护和观察高吞吐量并发应用的工作量。主要变化是虚拟线程现在完全支持线程本地变量。
- JEP 430 (字符串模板预览):已从“Proposed to Target”状态提升为“Targeted”状态,将在JDK 21中提供字符串模板功能,允许在字符串中嵌入表达式并在运行时解析。
- JEP 442 (外部函数与内存API第三预览):已从“Candidate”状态提升为“Proposed to Target”状态,将在JDK 21中提供第三预览版本,改进包括集中管理原生段生命周期和增强布局路径等。
- JEP 445 (灵活的主方法和匿名主类预览):已从草案状态提升为“Candidate”状态,旨在简化Java语言,使学生能够编写第一个程序而无需理解大型程序的语言特性。
- JEP Draft 8305868 (向量API第六次孵化):已提交,旨在增强向量API,支持从
MemorySegment加载和存储向量。
JDK 21
- Build 18:发布了JDK 21的早期访问版本Build 18,修复了多个问题,开发者可以通过Java Bug数据库报告问题。
Spring Framework
- Spring Framework 6.0.8、5.3.27和5.2.24.RELEASE:主要修复了CVE-2023-20863漏洞,新增了
truncate()和nullSafeConciseToString()方法,并替换了unmodifiableList()方法。 - Spring Data 2023.0-RC1、2022.0.5和2021.2.11:2023.0-RC1版本重新支持MariaDB,新增了
@Hint注解,并增强了JPA和MongoDB的解析器。2022.0.5和2021.2.11版本为服务版本,包含改进和修复。
GraalVM Native Build Tools
- 版本0.9.21:修复了与Gradle配置缓存的兼容性问题,弃用了
requiredVersion属性,并新增了write-args-fileMaven目标。
MicroStream
- MicroStream成为Eclipse项目:MicroStream Serializer和MicroStream Persistence将分别更名为Eclipse Serializer和EclipseStore,并计划启动EclipseStore工作组。
Micronaut
- Micronaut 3.8.9:修复了多个bug,支持JDK 20,并更新了Micronaut AWS和Kafka模块。
- Micronaut 4.0.0-M2:支持基于注解的CORS配置、编译时表达式、禁用流式HTTP请求处理和条件路由。
Helidon
- Helidon 4.0.0.Alpha6:支持JDK 20,完成了WebServer和WebClient组件中所有HTTP方法的快捷方法,并将
receive()方法更名为onMessage()。
Hibernate
- Hibernate ORM 6.2.1.Final:修复了子查询、泛型关联、复合主键查询和内部空值检查等问题。
Micrometer
- Micrometer Metrics 1.11.0-RC1、1.10.6和1.9.10:1.11.0-RC1新增了
Supplier变体的getOrDefault()方法,支持Netty分配器和事件执行器的指标,并改进了累积计数计算。1.10.6和1.9.10主要为bug修复和依赖升级。 - Micrometer Tracing 1.1.0-RC1和1.0.4:支持通过
ThreadLocalAccessor接口传播Span,并支持创建带链接的Span。
Piranha
- Piranha 23.4.0:更新了Jakarta EE组件的兼容实现,使用JDK 19进行自动化测试,并进行了代码清理。
Project Reactor
- Reactor 2022.0.6:升级了
reactor-core、reactor-addons、reactor-netty、reactor-kafka和reactor-kotlin-extensions的依赖版本。
Gradle
- Gradle 8.1:稳定了配置缓存功能,支持依赖验证,改进了Groovy闭包的错误报告,支持Java lambda,并改进了内存管理。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。