[关闭]
@Rays 2021-12-03T08:45:15.000000Z 字数 2594 阅读 565

一周Java动态汇编:Micronaut,Quarkus,JDK 18,Spring HATEOAS和JKDMon

摘要: 对于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。

作者: Michael Redlich

正文:

对于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),例如booleanMemoryAddress接口;为MemoryAddressMemorySegment接口提供更通用的解引用(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 DataMicronaut Security, Micronaut KubernetesMicronaut 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

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注