Java 2024年9月30日周报总结
本周的Java周报涵盖了多个重要新闻,包括OpenJDK的新JEP、Spring Framework 7.0的计划、JobRunr 7.3.0、Keycloak 26.0.0和Debezium 3.0.0的发布。
OpenJDK
- JEP 475:该提案针对JDK 24,旨在简化G1垃圾收集器的屏障实现,通过将屏障扩展从C2 JIT编译管道的早期阶段转移到后期,从而减少C2的执行时间。
- JEP 489:该提案针对JDK 24,是Vector API的第九次孵化,旨在根据前八次孵化的反馈进行增强。该API将继续孵化,直到Project Valhalla的相关功能成为预览特性。
- JEP 484:该提案针对JDK 24,旨在提供一个用于解析、生成和转换Java类文件的API,计划作为ASM框架的内部替代品,并最终开放为公共API。
- JEP 492:该提案针对JDK 24,是Flexible Constructor Bodies的第三次预览,旨在允许在构造函数中的
this()或super()调用之前出现不引用实例的语句。 - JEP 491:该提案针对JDK 24,旨在提高Java代码在使用同步方法和语句时的可扩展性,通过安排虚拟线程在阻塞时释放其底层平台线程,从而减少虚拟线程被平台线程固定的情况。
- JEP 488:该提案针对JDK 24,是Primitive Types in Patterns, instanceof, and switch的第二次预览,旨在允许在所有模式上下文中使用原始类型模式。
- JEP 487:该提案针对JDK 24,是Scoped Values的第四次预览,旨在允许在线程之间共享不可变数据,特别是在使用大量虚拟线程时。
- JEP 14:该提案记录了OpenJDK自2018年以来采用的“tip and tail”发布模型,鼓励Java库维护者采用该模型。
JDK 24
- Build 18:JDK 24的早期访问版本Build 18已发布,包含了对Build 17的更新和修复。开发者被鼓励通过Java Bug Database报告问题。
GlassFish
- GlassFish 7.0.18:该版本带来了错误修复、文档改进和新功能,如从命令行启动GlassFish嵌入式服务器以及动态更新公共类加载器。
GraalVM
- GraalVM:Oracle Labs的Fabio Niephaus宣布了GitHub上新仓库的发布,包含GraalPy、GraalJS和GraalWasm项目的新演示和指南。
TornadoVM
- TornadoVM 1.0.8:该版本提供了错误修复和改进,如新方法
printTraceExecutionPlan()和getTraceExecutionPlan(),以及删除了不必要的getHandleByIndex()方法。
Spring Framework
- Spring Framework 7.0:Spring团队计划在2025年11月发布Spring Framework 7.0,将基线升级到Jakarta EE 11和JDK 25 LTS,并保留JDK 17基线。
Helidon
- Helidon 4.1.2 和 3.2.10:这两个版本带来了依赖项升级和显著变化,如WebServer组件中服务器端事件的改进实现。
JobRunr
- JobRunr 7.3.0:该版本带来了新功能,如完全兼容Quarkus 3.15和Kotlin 2.0.20,并改进了
BackgroundJobServer类的线程安全性。
Hibernate
- Hibernate Reactive 2.4.2.Final:该版本修复了在检索带有
@IdClass注解的复合表实体时出现的ClassCastException问题。
Micrometer
- Micrometer Metrics 1.13.5:该版本修复了由于Keycloak服务器实例无法启动而导致的
ConcurrentModificationException。
Grails
- Grails 6.2.1:该版本提供了错误修复、依赖项升级和显著变化,如兼容Groovy 3.0.22。
Infinispan
- Infinispan 15.1.0.Dev04 和 15.0.10.Final:这两个版本带来了依赖项升级和显著变化,如对Redis序列化协议操作的增强。
Keycloak
- Keycloak 26.0.0:该版本带来了新功能,如独立于Keycloak发布周期的库发布周期、默认持久化用户会话以及OpenTelemetry的预览。
Testcontainers for Java
- Testcontainers for Java 1.20.2:该版本带来了错误修复、文档改进、依赖项升级和新功能,如对MongoDB Atlas的实现。
RefactorFirst
- RefactorFirst 0.6.1 和 0.6.0:这两个版本带来了显著变化,如仅在
showDetails属性为true时计算循环中类的平均提交计数,并移除了JGraphT模块以解决CVE-2017-18197漏洞。
Debezium
- Debezium 3.0.0.Final:该版本带来了显著变化,如JDK 17作为最低版本、支持Kafka 3.8.0以及移除已弃用的
additional-condition字段。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。