Java 近期新闻:Micronaut,Quarkus,JDK 18,Spring HATEOAS 和 JKDMon

锺离森
2023-12-01

对于 Java 业界动态汇编,本周(2021 年 11 月 22 日版)是相对平静的一周。关注焦点是 OpenJDK JEP、JDK 18、织机项目(Project Loom)Build 18-loom+6-282、Spring HATEOAS 1.4、Micronaut 3.2、Quarkus 2.5.0、 Apache Camel Quarkus 2.5.0 和 JDKMon 17.0.14。

OpenJDK

JEP 419,即 外部语言交互(Foreign Function)和Memory API(第二轮孵化) ,已结束审查,在 JDK 18 中的状态从“ Proposed to Target ” 提升到 “ Targeted ”。JEP 419 是直接从 JDK 17 中交付的 JEP 412 演化而来,即 外部语言交互和Memory API(第一轮孵化) ,是对 Java 社区反馈的进一步改进。第二轮孵化中的改进涉及:支持更丰富的内存访问变量句柄承载器(carrier),例如 boolean 和 MemoryAddress 接口;为 MemoryAddress 和 MemorySegment 接口提供更通用的解引用(dereference)API;简化了获取向下调用(downcall)方法句柄的 API,无需传递 MemoryType 枚举类型;新提供了从内存段拷入拷出 Java 数组的 API。

此外,JDK 18 中 JEP 420(即 switch中的模式匹配(第二版预览) )的状态同样从“ Proposed to Target ” 提升到 “ Targeted ”。JEP 420 是 JDK 17 交付的 JEP 406( switch中的模式匹配(第一版预览) 的第二版预览,支持 switch 表达式验证多组模式,可根据数据精准地表达复杂的查询,进而采取对应的行动。JEP 420 中的改进涉及:对 支配性检查(dominance checking) 的改进,强制常量标签 case 的出现先于同类型保护性模式(guarded pattern);使用密封(sealed)层级实现更精准的 switch语句块有尽性(exhaustiveness)检查 。

Oracle Java 语言架构师 Brian Goetz 曾在 2017 年 9 月对此 接受过InfoQ专访 ,此时模式匹配尚处概念原型(PoC)阶段。而操作符 instanceof 的模式匹配功能,实现在 JDK 16 交付的 JEP 394 中。

JDK 18

JDK 18 先期访问构建版(early-access builds) 针对 Build 24 中的 多个问题 做了关键更新,并于上周公开提供 Build 25 。具体细节,可参见“ 发行说明 ”。

下面列出了 JDK 18 当前的特性集:

鼓励开发人员通过 Java Bug Database 上报软件缺陷。

织机项目(Project Loom)

织机项目 先期访问构建版 已向 Java 社区公开提供了 Build 18-loom+6-282,该版本基于 JDK 18 先期访问构建版的 Build 24 。

Spring 框架

Spring HATEOAS 1.4 于上周 发布 ,这是 Spring 团队过去数周持续努力中可圈可点的工作。其中的新特性包括:支持 level 4 URI 模板;支持非组合请求参数(RequestParameter)渲染;改进了对 HAL-FORMS 媒体类型的支持;支持更丰富的 HTML 输入类型;对 Spring Framework 5.3.13 和 Jackson 2.13.9 的依赖升级。更多细节,参见“ 变更日志 ”。

Micronaut

Micronaut基金会 已发布 Micronaut 3.2,主要特性包括对 GraalVM 21.3.0、Gradle Plugin 3.0.0、Kotlin 1.6.0 和一众 HTTP 特性的支持,以及对 Micronaut Data 、 Micronaut Security ,  Micronaut Kubernetes 、 Micronaut Elasticsearch 等部分自身模块等升级。更多细节,参见 官方文档 。

Quarkus

Red Hat 已 发布 Quarkus 2.5.0.Final,其中特性包括:对 Mandrel 21.3 依赖的升级; GraalVM 社区版的下游衍生版;支持原生模式的 JPA EntityListeners for  Hibernate ORM ;使用 quarkus.http.header 属性将 HTTP头部添加到 服务器响应中;对 Quarkus 扩展 、开发模式和测试框架在可用性上的改进。

Apache Camel

为与 Quarkus 保持一致, Camel Quarkus 2.5.0 版 发布 了 Quarkus 2.5.0.Final 版的 Apache Camel 3.13.0 平台,在测试覆盖和文档上做了一定改进。更多细节,参见“ 问题列表 ”。

JDKMon

JDKMon 的 最新版17.0.14 已向 Java 社区公开提供。JDKMon 是一款对已安装 JDK 进行监控和更新的新工具,由 Azul 首席工程师 Gerrit Grunwald 创建。新版交付的特性包括:在搜索路径中自动添加由 SDKMAN!代理的 JDK发行版 以及所有相关 Java 目录;对任何可用更新给出说明发行细节的链接。

原文链接:

Java News Roundup: Micronaut 3.2, Quarkus 2.5, JDK 18, Spring HATEOAS 1.4, JKDMon 17.0.14

 类似资料: