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

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

公众号新闻

作者 | Michael Redlich
译者 | 平川
策划 | 丁晓昀
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 430:字符串模板(预览版)

  • JEP 431:顺序集合

  • JEP 439:分代式 ZGC

  • JEP 440:记录模式

  • JEP 441:Switch 模式匹配

  • JEP 442:外部函数 & 内部 API(第 3 个预览版)

  • JEP 443:未命名模式和变量(预览版)

  • JEP 444:虚拟线程

  • JEP 445:未命名类和实例 Main 方法(预览版)

  • JEP 446:作用域值(预览版)

  • JEP 448:向量 API(第 6 轮孵化)

  • JEP 449:弃用 Windows 32-bit x86 Port,为删除做准备

  • JEP 451:准备禁用代理的动态加载

  • JEP 452:密钥封装机制 API

  • JEP 453:结构化并发(预览版)

上述列表的前提是,前面提到的删除 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 0 和 Build 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、Jakarta Faces 5.0、Jakarta RESTful Web Services 4.0、Jakarta Server Pages 4.0、Jakarta Persistence 3.2、Jakarta Security 4.0、Jakarta Servlet 6.1 、Jakarta WebSocket 2.2 等规范。

同样值得注意的是,虽然 Jakarta Data 1.0、Jakarta NoSQL 1.0 和 Jakarta 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 Servlet 和 Micronaut 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-M7 和 9.0.76 版本共有的特性包括:支持 JDK 21 和虚拟线程;新增 RateLimitFilter 类,通过限制给定时间窗口内来自单个 IP 地址的请求数量,帮助减轻拒绝服务和暴力破解攻击;Tomcat Native 依赖项升级到 2.0.4,其中包括使用 OpenSSL 3.0.9 构建的 Windows 二进制文件。要了解关于这两个版本的更多细节,请查看 11.0.0-M7 和 9.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/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

深度:为什么中国数据库领域没有出现像Snowflake这样的巨头?

十七年来奇葩大崩溃!为不让OpenAI和谷歌白拿数据,Reddit 收取巨额API 费用还诽谤开发者,社区爆发大规模抗议

“偷”代码建起公司、学历造假、6天拿下1亿美元却拖欠工资,这位AI独角兽CEO屡遭质疑后亲自回应了

市值暴涨10519%,原来全世界搞大模型的企业都在给这位华人打工!

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Shanghai Bus Ridership Is Down. Does Anyone Care?波士顿Downtown房源 | 1B1B | 临近河边的翻新公寓 | 9月1号起入住【Downtown】高级公寓平替 | 全翻新落地大窗|Studio$2800|2B$4000 | 电梯门禁系统【5-9.1入住】【租房】无中介费|9.1入住|Downtown Suffok|Emerson 橙线地铁站|高级公寓studio|2750本科友好梧桐台湾的利器之一:PHL-191“箱火” 转经验大放送 | 一战99二战140+,中南财432专业课提分40+的秘诀IEEE高级会员,IEEE中国联合会前任主席,IEEE北京分会前任主席冯进军当选北京“最美科技工作者”【美食探店】Downtown Duluth美食推荐:Local On NorthJava近期新闻:JDK 21的JEP、Spring Cloud AWS 3.0以及OptaPlanner转移至TimefoldDowntown高级公寓 | 接本科生 | 2300+ | 楼Emerson | 东北大学 | 0.05英里到橙线外媒报道:Jennie出演《The Idol》,Blackpink大力支持【租房】暑期或9.1入住|Downtown|高级公寓2B|4000Java近期新闻:Java Turns 28 岁、Payara Platform、Micronaut 4.0、Spring更新三斤四两五花肉,六桶七杯八色油无中介费|9.1入住|Downtown近Suffok/Emerson和橙线地铁站高级公寓两室一厅3700,接本科生JDK 21从主线fork ,成为下一个Java LTS版本[歪解] Rolling down car windows任何阶段、实时成像、精准放疗,肿瘤疗法SCINTIX已获近6亿美元融资精选Quant岗位 | SIG、Jane Street、Arrowstreet Capital l等公司持续热招!上海市人大常委会党组、市政府党组、市政协党组分别召开会议:坚决拥护中央决定,更加严格遵守党章党规党纪East Cambridge近绿线/MIT/Downtown全新智能顶级公寓|免两个月房租免中介费|室内洗烘|本科生友好Java 近期新闻:字符串模板、Quarkus、Open Liberty、PrimeFaces、JobRunr、Devnexus刘亚洲言使用 Docsify-This 从 Markdown 文件生成网页 | Linux 中国研华科技加入RE100 承诺2040年全面使用再生电力南十字星下的超生游击队无中介费|9.1入住|Downtown近Suffok/Emerson和橙线地铁站高级公寓studio 2750,接本科生5051 血壮山河之武汉会战 鏖战幕府山 20Calm-Down Corners是什么?如何在家创建一个舒适的Calm-Down Corners?快来获取灵感吧!Downtown近State地铁站高级公寓1B 3673+ 2B 4346+乐高2023年暑期城市系列、机械组、好朋友系列30款暑期新品高清细节图正式发布!总会丨欧美同学会专家组赴广州开展海归小镇第二阶段评审工作Malden 最高性价比高级公寓之一,近NEU/Emerson/Downtown/橙线,本科生友好,室内洗烘,2B2B3575+How a Chinese Town Made a Fortune From the World’s Lockdown PetsJava 近期新闻:JNoSQL 1.0、Liberica NIK 23.0、Micronaut 4.0-RC2、KCDC
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。