9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

Java 近期新闻:JDK 21 进入 Rampdown 阶段、JEP 404、JDK 22 专家组、Jakarta EE 11 升级

  • 2023-06-22
    北京
  • 本文字数:3800 字

    阅读完需:约 12 分钟

Java近期新闻:JDK 21进入Rampdown阶段、JEP 404、JDK 22专家组、Jakarta EE 11升级

OpenJDK

面向 JDK 21 的 JEP 453(结构化并发预览)已经从 Proposed to Target 状态提升Targeted 状态。该预览版最初只是一个处于孵化状态的 API,融合了针对前两轮孵化反馈所做的增强:JEP 428(结构化并发第一轮孵化)在 JDK 19 中交付;JEP 437(结构化并发第二孵化)在 JDK 20 中交付。该版本带来的重大变化只有一项,就是在StructuredTaskScope类中定义的fork()方法,返回一个TaskHandle实例而不是Future,因为TaskHandle接口的get()方法经过重构后与Future接口的resultNow()方法行为相同了。要了解关于这个 JEP 的更多细节,可以查看InfoQ的这篇新闻报道

 

面向 JDK 21 的 JEP 446(作用域值预览)已经从 Proposed to Target 状态提升Targeted 状态。该 JEP 之前被称为范围局部变量(第一轮孵化),现在,它作为一个遵循 JEP429(作用域值第一轮孵化)的预览特性在 JDK 20 中交付。该 JEP 建议在线程内部和线程之间共享不可变数据。这比线程局部变量更有优势,尤其是在大量使用虚拟线程时。InfoQ 后续会带来更详细的报道。

 

AWS 首席工程师、JEP 404——Generational Shenandoah(实验阶段)——的所有者Roman Kennke提议从 JDK 21 中删除这个 JEP,因为“在审核过程中发现了风险,而且没有时间对如此大的代码贡献做彻底的审核。”Shenandoah 团队决定“尽他们所能提供最好的 Generational Shenandoah”,并计划在 JDK 22 中交付。审核预计将于 2023 年 6 月 14 日结束。

 

JDK 21

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

 

根据JDK 20的发布时间表,Oracle Java 平台组首席架构师Mark Reinhold正式宣布 JDK 21 进入 Rampdown 第一阶段。这意味着已经从主干源代码存储库生成了 JDK稳定存储库分叉,并且不会再对JDK 21添加额外的 JEP。因此,最终将于 2023 年 9 月正式发布的 15 个功能将包括:

 

上述列表的前提是,前面提到的删除 JEP 404——Generation Shenandoah(实验阶段)——的提议获得批准。

 

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

 

JDK 22

JSR 397(Java SE 22)于上周提交,正式宣布了 JDK 22 的六人专家组,包括:Simon Ritter(Azul Systems)、Manoj Palat(Eclipse 基金会)、Andrew Haley(红帽)、Christoph Langer(SAP SE)、Iris Clark(Oracle)和Brian Goetz(Oracle)。Clark 和 Goetz 将担任规范负责人。另外有两个日期需要注意下,一个是 2024 年 1 月至 2024 年 2 月的公开评审,另一个是 2024 年 3 月的 GA 发布。

 

JDK 22早期访问构建Build 0Build 1也在上周发布,提供了初始版本更新集。

 

Jakarta EE

Ivar Grimstad是 Eclipse 基金会的 Jakarta EE 开发大使。他在其每周博客Hashtag Jakarta EE 上宣布,Jakarta EE 11 的计划评审请求已经在 2023 年 5 月 30 日的截止日期之前提交。Jakarta EE 11 预计将于 2024 年第一季度发布,将会更新Jakarta Authentication 3.1、Jakarta Authorization 3.0、Jakarta Concurrency 3.1、Jakarta Contexts and Dependency Injection 4.1、Jakarta Expression Language 6.0、JakartaFaces 5.0、JakartaRESTful WebServices4.0Jakarta Server Pages 4.0、Jakarta Persistence 3.2、Jakarta Security 4.0、JakartaServlet 6.1 、JakartaWebSocket 2.2 等规范。

 

同样值得注意的是,虽然Jakarta Data 1.0Jakarta NoSQL 1.0Jakarta MVC 3.0 规范的发布计划已经获批,但目前,它们仍被视为独立的部分,也就是说,还没有纳入到 Jakarta EE 的平台、Web 或核心配置文件中。

 

Spring Framework

Spring Security Kerberos 2.0.0带来了显著的变化,包括:对 JDK 8 的向后兼容支持;将UserDetailsService接口的执行封装到PrivilegedAction接口中,以便重用 Kerberos 身份验证;修复了JaasSubjectHolder 类的NotSerializableException。要了解关于该版本的更多细节,请查看问题列表

 

Quarkus

Red Hat发布Quarkus 3.1.1.Final,提供了依赖项升级,并带来了一些显著的变化,包括:利用Security Jakarta Persistence Reactive正确捕获非唯一结果异常;在准备 Jacoco 报告而工作空间模块找不到源头时防止NullPointerException;修复转换为本机镜像时@NamedNativeQuery注解在 Hibernate Reactive 中失效的问题;修复 Quarkus 3.1 中流响应未定义@Produces注解时抛出IllegalStateException异常的问题。要了解关于该版本的更多细节,请查看发布说明

 

Micronaut

Micronaut 基金会发布了 Micronaut Framework 3.9.3,修复了一些 Bug,并升级了一些模块:Micronaut ServletMicronaut AWS。它还将一个依赖项升级到Netty 4.1.92。要了解关于该版本的更多细节,请查看发布说明

 

Micronaut 4.0 的第三个候选版本带来了 Bug 修复和改进,包括:在JsonMapper接口中为重载的writeValueAsString()方法集添加默认方法;改进定时任务的异常处理;为EndpointsFilter 类的注解@Requires 添加参数missingBeans=EndpointSensitivityHandler.class,用于指定处理端点敏感性的外部类,而不加载过滤器。要了解关于该版本的更多细节,请查看发布说明

 

Eclipse Vert.x

Eclipse Vert.x 4.4.3发布,带来了依赖项升级和重要的 Bug 修复,包括:JDBC SQL 客户端的跟踪集成问题;从GrpcMethodCall类的serviceName()方法中抛出IndexOutOfBoundsException异常;HttpServer接口的updateSSLOptions()方法由于SSLHelper类的null实例而抛出NullPointerException。要了解关于该版本的更多细节,请查看发布说明以及弃用和破坏性更改明细

 

Vert.x JDBC Client 4.4.3.1 也已经发布,修复了 Vert.x 4.4.3 中引入的 IP 地址解析回归。在获得下一个全栈升级版本之前,使用vertex -jdbc-client模块的开发人员应该先升级到这个依赖项。

 

Apache 软件基金会

Apache Commons IO 2.13.0发布,带来了一些值得注意的变化,包括:修复了PathUtils类中的createParentDirectories()方法抛出FileAlreadyExistsException异常的问题;重置ReaderInputStream类中的setCharset(null)setCharsetEncoder(null)方法,使它们返回一个默认对象,而不是抛出NullPointerException异常;在AbstractOrigin的子类中添加缺失的转换。要了解关于该版本的更多细节,请查看发布说明

 

Apache Tomcat 11.0.0-M79.0.76版本共有的特性包括:支持 JDK 21 和虚拟线程;新增RateLimitFilter类,通过限制给定时间窗口内来自单个 IP 地址的请求数量,帮助减轻拒绝服务和暴力破解攻击;Tomcat Native 依赖项升级到 2.0.4,其中包括使用 OpenSSL 3.0.9 构建的 Windows 二进制文件。要了解关于这两个版本的更多细节,请查看11.0.0-M79.0.76的变更日志。

 

Infinispan

Infinispan 14.0.10.Final 带来了一些值得注意的变化,包括:Spring Framework 6.x 和 Spring Boot 3.x 依赖项升级;修复检测多归属时的 IPv6 通配符地址;实现RemoteCache接口中的条件方法computeIfAbsent()computeIfPresent()。要了解关于该版本的更多细节,请查看发布说明

 

同样,Infinispan 13.0.17.Final 也有一些显著的变化,如:不再过滤二进制资源,消除对二进制文件的破坏;使ManagedConnectionFactory类中的getConnection()方法延迟初始化数据源,解决部署到 Tomcat 时 JNDI 数据源不可用的问题;更正 Spring Boot 入门文档中属性文件示例里记录的端口号。要了解关于该版本的更多细节,请查看发布说明

 

JHipster

JHipster 团队发布JHipster Lite 0.34.0,带来了许多依赖项升级和重要的增强,诸如:删除了未使用的局部变量;用文本块替换连接字符串;改进 React 应用程序。要了解关于该版本的更多细节,请查看发布说明

 

OpenXava

OpenXava 7.1.1 版本发布,升级了依赖项,并且可以访问带有@HtmlText注释的网站资源。要了解关于该版本的更多细节,请查看发布说明

 

Yupik

Yupiik Fusion 1.0.3发布,带来了一些显著的变化,比如:在 Kubernetes 客户端库中支持kubecconfig文件;改进了CliAwaiter类的重用;通过将访问指示符从private更改为public来暴露KubenetesClient类的prepare()方法。要了解关于该版本的更多细节,请查看发布说明

 

Gradle

Gradle 8.2 的第二个候选版本做了如下改进:继续改进 Kotlin DSL参考文档控制台输出的错误报告(使其简洁、可操作)以及依赖项验证(降低依赖项被攻陷时的安全风险);默认启用在 Kotlin DSL 最后一个版本中引入的简单属性赋值操作符(=)。要了解关于该版本的更多细节,请查看发布说明

 

JNation 大会

JNation大会于上周在葡萄牙科英布拉市弗朗西斯科修道院举行,来自 Java 社区的许多演讲者参加了与 Project Loom、JavaScript、Java on ARM、WebAssembly、Kubernetes 和 GraalVM 等主题相关的会议研讨会


原文链接:

https://www.infoq.com/news/2023/06/java-news-roundup-jun05-2023/


相关阅读:

Java 迎来增强功能字符串模板,代码简化,安全性提升

快速实现不打折扣的云原生 Java 应用

JEP 444:JDK 21 中出现虚拟线程,开创并发新纪元


2023-06-22 08:004333

评论

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

深圳哪的培训机构学习大数据开发?

小谷哥

顿悟!百度强推的Redis天花板笔记,原来数据库是这样理解的

冉然学Java

分布式 redis' 技术专题合集 #java redis 底层原理

Rust 入门指南(rustup, cargo)

王泰

rust

应该怎么规划学习web前端培训

小谷哥

有奖征文 | 2022 云原生编程挑战赛征稿活动开启!

阿里巴巴云原生

阿里云 云原生编程挑战赛

IT远程运维是什么意思?远程运维软件哪个好?

行云管家

IT运维 远程运维 IT远程运维

【后端开发】Reactor 模型详解

C++后台开发

reactor 后端开发 网络模型 C/C++后台开发 C/C++开发

全链路灰度在数据库上我们是怎么做的?

阿里巴巴云原生

数据库 阿里云 微服务 云原生 全链路灰度

【干货】如何建立支持和产品之间的密切关系?

Geek_da0866

极狐GitLab Helm Registry 使用指南

极狐GitLab

git DevOps gitlab 运维 CI/CD

参加java培训学习建议选择

小谷哥

一文简述:SRv6基本原理

穿过生命散发芬芳

7月月更 SRv6

GIS数据漫谈(六)— 投影坐标系统

ThingJS数字孪生引擎

管理区解耦架构见过吗?能帮客户搞定大难题的

华为云开发者联盟

云计算 后端 华为云

A tour of gRPC:05 - gRPC server straming 服务端流

BUG侦探

gRPC RPC protocolBuffer

零代码修改,教你Spring Cloud应用轻松接入CSE

华为云开发者联盟

云计算 后端 CSE

“工厂、构造、原型” 设计模式与 JS 继承

掘金安东尼

JavaScript 前端 7月月更

前端培训机构应该如何学习前端开发技术?

小谷哥

从0到1:基于云开发的投票小程序开发笔记

CC同学

小程序云开发 投票小程序

多线程与高并发—— 源码解析 AQS 原理

王小凡

Java 程序员 AQS JVM 多线程

在培训机构学到大数据技术

小谷哥

阿里云 MSE 支持 Go 语言流量防护

阿里巴巴云原生

Go 阿里云 云原生 云原生微服务

C#/VB.NET:在PDF中插入文本水印

Geek_249eec

C# PDF VB.NET 水印

不懂就问,快速成为容器服务进阶玩家!

阿里巴巴云原生

阿里云 容器 云原生 训练营

兆骑科创创新创业大赛人才引进平台,双创赛事高层次人才引进

兆骑科创凤阁

与字节、小米、移动云等企业一起揭秘 RocketMQ 实践之道

阿里巴巴云原生

阿里云 RocketMQ 云原生 峰会

如何做一个好的大数据平台架构

数据社

签约计划第三季

活动速递| Apache Doris 性能优化实战系列直播课程初公开,诚邀您来参加!

SelectDB

数据库 性能优化 数据仓库 OLAP Doris

Rust 入门指南(crate 管理)

王泰

rust

KubeEdge发布云原生边缘计算威胁模型及安全防护技术白皮书

华为云开发者联盟

云计算 云原生 安全

深圳线下报名|StarRocks on AWS:如何对实时数仓进行极速统一分析

StarRocks

数据库

Java近期新闻:JDK 21进入Rampdown阶段、JEP 404、JDK 22专家组、Jakarta EE 11升级_编程语言_Michael Redlich_InfoQ精选文章