上海的陆家嘴

Java生态系统风起云涌:JDK 24进入关键阶段,Spring、Quarkus等框架持续演进

引言:

在瞬息万变的软件开发领域,Java生态系统始终保持着强大的生命力。近期,Java社区迎来了一系列重要进展,从JDK 24的发布进程到各大框架的更新迭代,无不预示着Java技术栈的持续繁荣。本文将深入剖析这些动态,为读者呈现一幅清晰的Java技术发展图景。

JDK 24:进入Rampdown Phase Two,功能集逐步确定

Java开发工具包(JDK)的每一次更新都牵动着无数开发者的心。近期,JDK 24正式进入Rampdown Phase Two阶段,标志着其功能集已基本确定,并开始专注于修复bug。Oracle Java平台团队的首席架构师Mark Reinhold宣布,JDK 24将不再添加新的JEP(JDK增强提案),这意味着开发者可以期待一个更加稳定和可靠的JDK版本。

JDK 24最终功能集包含了一系列令人期待的特性,其中包括:

  • JEP 404: 分代 Shenandoah(实验性):旨在提升垃圾回收效率,为Java应用带来更优的性能表现。
  • JEP 450: 紧凑的对象头(实验性):通过优化对象头结构,减少内存占用,提高应用运行效率。
  • JEP 472: 为限制 JNI 的使用做准备:旨在提高Java应用的安全性,减少JNI(Java Native Interface)带来的潜在风险。
  • JEP 475: G1 的后期屏障扩展:进一步优化G1垃圾回收器,提升其性能和效率。
  • JEP 478: 密钥派生函数 API(预览):为开发者提供更便捷的密钥派生功能,增强应用安全性。
  • JEP 479: 移除 Windows 32 位 x86 移植版本:顺应技术发展趋势,减少维护负担。
  • JEP 483: 预先加载和链接类:优化类加载过程,提升应用启动速度。
  • JEP 484: 类文件 API:为开发者提供更强大的类文件操作能力。
  • JEP 485: 流收集器:简化流操作,提升开发效率。
  • JEP 486: 永久禁用安全管理器:简化安全管理,提升应用性能。
  • JEP 487: 作用域值(第四次预览):进一步完善作用域值功能,提升并发编程能力。
  • JEP 488: 模式中的原始类型、instanceof 和 switch(第二次预览):增强模式匹配功能,提升代码可读性和简洁性。
  • JEP 489: 向量 API(第九次孵化):持续优化向量API,提升高性能计算能力。
  • JEP 490: ZGC:移除非分代模式:进一步优化ZGC垃圾回收器,提升其性能和效率。
  • JEP 491: 无需固定即可同步虚拟线程:简化虚拟线程的使用,提升并发编程效率。
  • JEP 492: 灵活的构造函数体(第三次预览):增强构造函数灵活性,提升代码可读性和简洁性。
  • JEP 493: 无需 JMOD 链接运行时镜像:简化运行时镜像的构建过程。
  • JEP 494: 模块导入声明(第二次预览):增强模块化编程能力。
  • JEP 495: 简单源文件和实例主方法(第四次预览):简化Java程序的编写过程。
  • JEP 496: 量子抗性模块格基密钥封装机制:为应对量子计算威胁,提供量子抗性加密机制。
  • JEP 497: 量子抗性模块格基数字签名算法:为应对量子计算威胁,提供量子抗性数字签名机制。
  • JEP 498: 在 sun.misc.Unsafe 中使用内存访问方法时发出警告:提高使用Unsafe类的安全性。
  • JEP 499: 结构化并发(第四次预览):进一步完善结构化并发功能,提升并发编程能力。
  • JEP 501: 弃用 32 位 x86 移植版本:顺应技术发展趋势,减少维护负担。

与此同时,JDK 25的早期访问构建版本也在同步推进,开发者可以通过Java Bug数据库报告问题,共同推动Java技术的进步。

Spring Framework:持续迭代,拥抱新特性

作为Java生态系统中最受欢迎的框架之一,Spring Framework的每一次更新都备受关注。Spring Framework 6.2.2版本的发布,带来了诸多改进,包括:

  • 修改 BeanOverrideHandler 类:使其仅跟踪限定符注解,与Spring Boot的QualifierDefinition类保持一致。
  • 将 @MockitoBean 注解提升为支持字段和类型:与已废弃的Spring Boot @MockBean 注解保持一致。

此外,Spring Data 2024.1.2 和 2024.0.8 版本也进行了更新,修复了bug,升级了依赖,并对子项目进行了依赖升级。Spring AI MCP团队也发布了0.5.0版本,新增了对传输层的增强和物料清单。

Quarkus:维护版本更新,解决关键问题

Quarkus 3.17.7版本作为维护版本,解决了一些关键问题,例如:

  • 修复了当方法被 @PermissionsAllowed 注解且有多个值时,@PermissionChecker 注解的参数无法正确匹配的问题。
  • 将 MongoDB 连接健康检查的执行时机从应用程序尝试将第一条记录存储到数据库时改为在启动时。

Micrometer:性能优化与安全增强

Micrometer Metrics 1.15.0 的第一个里程碑版本在性能优化和安全增强方面做出了诸多改进,例如:

  • 在可能的情况下使用 AssertJ AbstractAssert 类中定义的 failWithActualExpectedAndMessage()。
  • 一致使用 Java String 类的 toLowerCase() 和 toUpperCase() 方法,并结合 Java Locale.ROOT 增强安全性。

此外,Micrometer Metrics的1.14.3和1.13.10版本也进行了更新,修复了一些问题,并升级了依赖。Micrometer Tracing 1.5.0的第一个里程碑版本也包含了错误修复和依赖升级。

Jakarta EE:迈向11版本,探索未来方向

Jakarta EE 11的发布进程也在稳步推进,目前已接近发布Jakarta EE Web Profile 11。同时,Jakarta EE 12的讨论也正在加速,开发者可以参与到平台发展的讨论中来。

结论:

Java生态系统正以蓬勃的姿态向前发展。JDK 24的发布进入关键阶段,Spring、Quarkus等框架的持续更新,以及Jakarta EE的未来规划,都预示着Java技术栈的持续繁荣。这些进展不仅为开发者带来了更强大的工具和更便捷的开发体验,也为Java技术的未来发展奠定了坚实的基础。

参考文献:

  • InfoQ: Java近期新闻:JDK 24进入Rampdown Phase Two、Spring、JobRunr、Commonhaus基金会
    https://www.infoq.cn/article/60z7z8y4m7f8j443v77j
  • JDK 24 Release Notes
  • JDK 25 Release Notes
  • Spring Framework Release Notes
  • Spring Data Release Notes
  • Spring AI Release Notes
  • Quarkus Release Notes
  • Micrometer Metrics Release Notes
  • Micrometer Tracing Release Notes
  • Jakarta EE Blog

(注:由于没有具体的发布说明链接,请自行查找并补充)

希望这篇新闻稿符合您的要求。如果您有任何其他要求或需要修改的地方,请随时告诉我。


>>> Read more <<<

Views: 0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注