写点什么

Java 近期新闻:JEP for JDK 21、MicroStream 成为 Eclipse 项目、Helidon、Piranha、Gradle 8.1

  • 2023-05-02
    北京
  • 本文字数:3265 字

    阅读完需:约 11 分钟

Java近期新闻:JEP for JDK 21、MicroStream成为Eclipse项目、Helidon、Piranha、Gradle 8.1

OpenJDK


在评审结束后,针对 JDK21 的 JEP 444(虚拟线程)已经从 Proposed to Target 状态提升Targeted 状态。本 JEP 建议根据前两轮预览的反馈最终确定该特性:JEP 436,虚拟线程第二次预览,在 JDK 20 中发布;JEP 425,虚拟线程预览,在 JDK 19 中发布。该特性为 Java 平台提供了虚拟线程。这种轻量级线程可以显著减少编写、维护和观察高吞吐量并发应用程序的工作量。JEP 436 最重要的变化是,虚拟线程现在完全支持线程本地变量,并取消了不使用这些变量的选项。要了解关于 JEP 425 的更多细节,可以阅读InfoQ的这篇报道,以及观看 Oracle Java 平台组 Java 开发大使José Paumard提供的截屏视频

 

类似地,针对 JDK 21 的 JEP 430(字符串模板预览)已经从 Proposed to Target 状态提升Targeted 状态。在Amber项目的支持下,这个JEP预览提议用字符串模板来增强 Java 编程语言。字符串字面量包含嵌入表达式,在运行时进行解释,即在运行时对嵌入表达式进行求值和验证。

 

针对 JDK 21 的 JEP 442(外部函数和内存API第三次预览)已经从 Candidate 状态提升到 Proposed to Target 状态。该 JEP 包含基于前期反馈的改进,提供了第三次预览:JEP 434,外部函数和内存API第二次预览,在 JDK 20 中发布;JEP 424,外部函数和内存API预览,在 JDK 19 中发布,以及相关的正在孵化中的 JEP 419,外部函数和内存API第二轮孵化,在 JDK 18 中发布;JEP 412,外部函数和内存API第一轮孵化,在 JDK 17 中发布。该特性为 Java 应用程序提供了一个 API,通过它可以有效地调用外部函数,安全地访问不受 JVM 管理的外部内存,从而与 Java 运行时之外的代码和数据进行互操作。JEP 434 的更新包括:在Arena 接口中集中管理本地段的生命周期;增强布局路径,使用一个新元素来解引用地址布局;移除VaList类。评审预计将于 2023 年 4 月 21 日结束。

 

JEP 445(灵活主方法和匿名主类预览)已经从 JEP Draft 8302326 状态提升Candidate 状态。该 JEP 原名为隐式类和增强主方法(预览版)。它提议“改进 Java 语言,让学生可以不必理解这门为大型程序而设计的语言的特性,就可以编写他们的第一个程序。”该 JEP 延续了 Oracle Java 语言架构师Brian Goetz在 2022 年 9 月发表的博文“降低学习门槛(Paving the on-ramp)”。

 

Oracle Java 架构师Paul Sandoz提交JEP Draft 8305868Vector API第六轮孵化。在Panama项目的支持下,该 JEP 包含了针对前五轮孵化反馈所做的增强:JEP 438,Vector API第五轮孵化,在 JDK 20 中发布;JEP 426,Vector API第四轮孵化,在 JDK 19 中发布;JEP 417,Vector API第三轮孵化,在 JDK 18 中发布;JEP 414,Vector API第二轮孵化,在 JDK 17 中发布;JEP 338,Vector API第一轮孵化,在 JDK 16 中作为孵化器模块交付。该 JEP 建议增强 Vector API,以便从 JEP 424(外部函数和内存API预览)定义的MemorySegment中加载向量及向它存储向量。

 

JDK 21


JDK 21早期访问构建Build 18在上周发布,其中包括Build 17的更新,主要是修复了各种问题。要了解关于这个版本的更多细节,请查看发布说明

 

对于JDK 21,我们鼓励开发人员通过Java Bug数据库报告 Bug。

 

Spring Framework


Spring Framework 6.0.8、5.3.27 和 5.2.24.RELEASE 版本发布,主要是解决了 CVE-2023-20863 Spring Expression DoS漏洞。利用该漏洞,攻击者可以通过提供专门编写的 Spring Expression Language 表达式发起拒绝服务(DoS)攻击。其他新特性包括:在StringUtils类中定义了一个新的重载方法truncate(),作为一种集中一致的字符串截断方式;在ObjectUtils类中定义了一个新方法nullSafeConciseToString(),为各种对象生成更“简洁”的空安全toString()表示,不包括完整的对象图;将Collections类中定义的unmodiableelist()方法替换为List接口中定义的copyOf()方法,提高 Spring 应用程序代码的可读性,防止意外 Bug,提升可维护性。要了解关于这些版本的更多细节,请查看6.0.85.3.275.2.24.RELEASE版本的发布说明。

 

Spring Data 2023.0-RC1、2022.0.5 和 2021.2.11 在上周发布。2023.0-RC1 版本的特性包括:恢复 MariaDB 对Spring Data R2DBC的支持;在Spring Data MongoDB中新增了一个@Hint注解,支持响应式批处理操作;许多针对Spring Data JPA Hibernate 和 JPQL 解析器的增强,对@Query注解查询在别名和其他方面的查询解析提供了更好的支持。2022.0.5 和 2021.2.11 版本是服务版本,带来了改进,修复了回归 Bug。这两个版本可能会分别与即将发布的Spring Boot 3.0.6 和 2.7.11 一起使用。

 

GraalVM Native Build Tools


在迈向 1.0 版本的道路上,Oracle实验室发布了Native Build Tools0.9.21版本。这是一个 GraalVM 项目,包含与 GraalVM 原生镜像互操作的插件。这个最新版本有一些值得注意的变化,比如:修复了与 Gradle 配置缓存的兼容性问题;弃用requiredVersion属性,转而使用版本字符串;新增 Maven 目标write-args-file,它会生成一个参数文件,供生命周期下游的其他插件使用。要了解关于这个版本的更多细节,请查看变更日志

 

MicroStream


MicroStream宣布,他们的 Java 原生持久化层将成为一个 Eclipse 项目。MicroStream Serializer产品将重命名为 Eclipse Serializer,MicroStream Persistence产品将重命名为 EclipseStore。MicroStream 还计划启动一个 EclipseStore 工作组,制定 Jakarta Persistence 规范标准。其中,EclipseStore 将成为一个兼容实现。

 

Micronaut


Micronaut 基金会发布了 Micronaut Framework 3.8.9,修复了 Bug,支持 JDK 20 的注解处理器,并升级了模块Micronaut AWSMicronaut Kafka。还有一个依赖项升级到Netty 4.1.91。要了解关于这个版本的更多细节,请查看发布说明

 

Micronaut 4.0.0 的第四个里程碑版本也于上周发布,它支持:基于注解的 CORS 配置;注解编译时间表达式;禁用流式 HTTP 请求处理的能力;条件路由。

 

Helidon


Helidon 4.0.0 的第六个Alpha版本带来了一些显著的变化,比如:支持 JDK 20;完成 WebServer 和 WebClient 组件中所有 HTTP 方法的快捷方法;将receive()方法重命名为onMessage(),以便与 WebSocket 组件中的其他方法保持一致。要了解关于这个版本的更多细节,请查看发布说明

 

Hibernate


HibernateORM 6.2.1.Final发布,提供了一些值得注意的修复,比如:改进了使用别名和左连接的子查询;启用脏检查和字节码增强时忽略泛型关联的问题;复合主键@IdClass的一部分查询时不返回;内部 nullness 标记和检查。

 

Micrometer


Micrometer Metrics 1.11.0-RC11.10.61.9.10版本发布。1.11.0-RC1 版本的新特性包括:为Observation接口内部类Context的方法getOrDefault()增加一个新的Supplier 变量;Netty 分配器和事件执行器指标支持;提升AbstractTimeWindowHistogram类中定义的takeCountSnapshot()方法累积计数的计算效率。1.10.6 和 1.9.10 版本主要是提供 Bug 修复和依赖项升级。

 

同样,Micrometer Tracing 的1.1.0-RC11.0.4版本也是提供了 Bug 修复,并分别将依赖项升级到 Micrometer 1.11.0-RC1 和 1.10.6。它们还带来了一些新特性:允许通过ThreadLocalAccessor接口传播 span;与 Micrometer 中的注解变化保持一致;支持创建带有链接的 span。

 

Piranha


Piranha 23.4.0发布。这个新版本被称为 2023 年 4 月的“升级组件”版本,包括:将 Jakarta EE 组件的各种兼容实现更新到最新版本;更新在发布工作流中运行的自动化测试,以便使用 JDK 19;基本代码清理。要了解关于这个版本的更多细节,请查看官方文档问题跟踪系统

 

Reactor


Reactor 2022.0.6 是第六个维护版本,依赖项升级到reactor-core 3.5.5、reactor-addons3.5.1、reactor-netty 1.1.6、reactor-kafka 1.3.17 和reactor-kotlin-extensions 1.2.2。要了解关于这个版本的更多细节,请查看变更日志

 

Gradle


Gradle 8.1发布,新特性包括:稳定版本的配置缓存;支持依赖验证;改进 Groovy 闭包错误报告;支持 Java lambdas;改进内存管理;支持使用 JDK 20 构建项目。要了解关于这个版本的更多细节,请查看发布说明

 

原文链接:

https://www.infoq.com/news/2023/04/java-news-roundup-apr10-2023/


相关阅读:

Java 近期新闻:字符串模板、Quarkus、Open Liberty、PrimeFaces、JobRunr、Devnexus 2023

2023-05-02 08:0018113

评论

发布
暂无评论
发现更多内容

在用户故事中应该包含多细的细节?(译)——来自Mike Cohn

Bruce Talk

敏捷开发 译文 Agile User Story Product Owner

架构实战课程 模块二作业

Frank

架构训练营模块二

yphust

中国、女性与自然的鸣奏曲

脑极体

架构实战营模块二

WolvesLeader

「架构实战营」

模块二作业:分析一下微信朋友圈的高性能复杂度

apple

【架构训练营】第二次作业

Geek_d18264

架构训练营

【架构训练营】【模块二】【作业】【分析微信朋友圈高性能复杂度】

简直走不拐弯

作业 架构训练营 模块二

Linux之ssh-copy-id命令

入门小站

Linux

大厂offer任你挑!覆盖面试中近98%Java高频面试手册

Java 编程 架构 面试 大厂

架构作业 - 模块二

Leo Zhao

架构训练营

Coffee 学架构 003:微信朋友圈的架构实战

咖啡

分析一下微信朋友圈的高性能复杂度

Yina🌝很浪🌊

微信朋友圈的高性能复杂度

michael

#架构实战营

学习心得 - 架构训练营 - 第二课

Fm

在线JSON转ClickHouse数据表工具

入门小站

工具

微信朋友圈架构设计

白开水又一杯

#架构实战营

上线几小时下载量破百万!无价的这份阿里并发编程图册就这么强势

Java 编程 架构 面试 程序人生

最终一致性和实时一致性是什么?在架构设计中,我们应该选择哪种方式?

我爱娃哈哈😍

架构设计 架构设计实战 最终一致性 实时一致性

极客时间架构实战营作业二

jjn0703

架构实战营

黑灯瞎火搞什么?搞智造!

脑极体

大开眼界!数字人民币原来还有这些新玩法

CECBC

极客时间-架构实战营2期-模块二作业

Dylan TANG

极客时间 第二周作业 极客时间架构师二期 架构实战营

《计算机网络》读后感

codists

架构实战营 - 模块七作业

李东旭

「架构实战营」

架构实战营 - 模块二作业

Alex.Wu

网络攻防学习笔记 Day127

穿过生命散发芬芳

9月日更 办公网安全

微信朋友圈复杂度分析

Nico

博客升级之在线代码编辑器

devpoint

编辑器 9月日更

架构实战营 模块七作业

孫影

架构实战营 #架构实战营

架构师训练营 2 期模块二作业

kazeMace

架构实战营

Java近期新闻:JEP for JDK 21、MicroStream成为Eclipse项目、Helidon、Piranha、Gradle 8.1_编程语言_Michael Redlich_InfoQ精选文章