AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Java 新闻汇总:JDK 22、Spring CVE、Liberica JDK、JDKMon 21、Jupyter for Java 和 Gradle 8.5

  • 2023-12-21
    北京
  • 本文字数:4572 字

    阅读完需:约 15 分钟

大小:2.41M时长:14:00
Java新闻汇总:JDK 22、Spring CVE、Liberica JDK、JDKMon 21、Jupyter for Java和Gradle 8.5

OpenJDK


在审查结束后,JEP 463,隐式声明类和实例主方法(Implicitly Declared Classes and Instance Main Methods,第二轮预览),已经在 JDK 22 中从 Targeted 状态提升到了 Proposed to Target 状态。它以前被称为未命名类和实例主方法(Unnamed Classes and Instance Main Methods,预览)灵活主方法和匿名主类(Flexible Main Methods and Anonymous Main Classes,预览)隐式类和增强的主方法(Implicit Classes and Enhanced Main Methods,预览),该 JEP 包含了对前一轮预览反馈的增强,即 JEP 445,未命名类和实例主方法(预览)。这个 JEP 建议“演进 Java 语言,这样学生们就可以编写他们的第一个程序,而不需要理解为大型程序所设计的语言特性”。该 JEP 延续了甲骨文的 Java 语言架构师Brian Goetz在 2022 年 9 月发表的博客文章Paving the on-ramp。甲骨文的技术顾问Gavin Bierman已经发布了规范文档的初稿,供 Java 社区审查。关于 JEP 445 的更多细节可以在 InfoQ 的新闻报道中找到。

 

在审查结束后,JEP 462,结构化并发(Structured Concurrency,第二次预览),已经从 Proposed to Target 状态提升到了 Targeted 状态。这个 JEP 提议在 JDK 22 中重新审查 API,不做任何变更,以便于从上一轮预览中获取更多的反馈,即 JDK 21 交付的 JEP 453,结构化并发(预览)。这个特性通过引入结构化并发性来简化并发编程,“将在不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和取消,提高可靠性并增强可观测性。”

 

在审查结束后,JEP 461, 流收集器(Stream Gatherers,预览),已经在 JDK 22 中从 Proposed to Target 状态提升到了 Targeted 状态。该 JEP 建议增强流 API 以支持自定义的中间操作。“这将允许流管道以现有内置中间操作难以实现的方式转换数据。”关于此 JEP 的更多细节可以参考甲骨文 Java 平台组软件架构师Viktor Klang编写的原始设计文档

 

在审查结束后,JEP 458,启动多文件源码程序(Launch Multi-File Source-Code Programs),已经在 JDK 22 的 Proposed to Target 状态提升到了 Targeted 状态。该 JEP 建议增强 Java Launcher,以执行通过一个或多个 Java 源代码文件提供的应用程序。这可以通过推迟一个完整项目的搭建来实现从小型应用程序到大型应用程序的渐进过渡。

 

在审查结束后,JEP 457,类文件API(Class-File API,预览),已经在 JDK 22 的 Proposed to Target 状态提升到了 Targeted 状态。该 JEP 建议提供一个 API 来解析、生成和转换 Java 类文件。它最初作为 JDK 中ASM的替代品,ASM 是一个 Java 字节码操作和分析框架,并计划将其作为公开 API 对外开放。甲骨文的 Java 语言架构师Brian Goetz将 ASM 描述为“带有大量遗留包袱的旧代码库”,并提供了关于该草案如何发展并最终取代 ASM 的背景信息

 

在审查结束后,JEP 423,G1的区域锚定(Region Pinning for G1),已经在 JDK 22 的 Proposed to Target提升到了 Targeted 状态该 JEP 建议通过实现G1垃圾收集器的区域锚定来减少 GC 延迟。这将扩展 G1,以便在 major 和 minor 收集操作期间可以锚定任意区域,以便于实现JNI关键区域时避免禁用垃圾收集进程。

 

JEP 464,作用域值(Scoped Values,第二次预览)已经从它的 JEP Draft 8318898 状态提升Candidate 状态,然后快速在 JDK 22提升到了 Proposed to Target 状态。它以前被称为范围局部变量(Extent-Local Variables,孵化),这个 JEP 建议在 JDK 22 中重新预览 API,不做任何更改,以便于从上一轮预览中获得额外的经验和反馈,即 JDK 21 交付的 JEP 446, 作用域值(预览)和 JDK 20 交付的作用域值(孵化)。该特性允许在线程内部和线程之间共享不可变数据。这种方式优于 thread-local 变量,特别是在使用大量虚拟线程的时候。该审查预计会在 2023 年 12 月 7 日结束。

JDK 22


JDK 22 的早期访问构建版本的Build 26发布,其中包括对 Build 25 的更新,其中包括对各种问题的修复。关于这个版本的更多细节可以在发行说明中找到。

 

对于JDK 22,鼓励开发人员通过Java缺陷数据库报告缺陷。

Jakarta EE


Jakarta Data 1.0.0 的第二个里程碑版本提供了如下特性:制品名称的重命名,例如,从jakarta-data-api改为jakarta.data-api,以便于同所有 Jakarta EE 规范保持一致;延迟静态元模型的实现,以进一步解决与反射和注解处理器相关的问题;对版权文档的优化,以便将值与占位符绑定。关于此版本的更多细节可以在发布说明中找到。

 

Eclipse JNoSQLJakarta NoSQL规范的兼容实现)的 1.0.3 版本发布,带来重要的数据库升级,比如,MongoDB 驱动 4.11.1、Hazelcast 5.3.6、Apache Solr 9.4.0、Couchbase Library 3.4.11 和 ArangoDB Library7.2.0。更新方法还实现了增强功能,以改进整个项目的功能。关于此版本的更多细节可以在发布说明中找到。

BellSoft


BellSoft发布Liberica JDK的 17 和 21 版本,这是他们 OpenJDK 的下游发行版,具有检查点协调恢复(Coordinated Restore at Checkpoint,CRaC)功能,使开发人员能够构建运行中的应用程序快照,减少 Java 应用的启动和预热时间。这些新版本将适用于 x86_64 和 AArch64 CPU 架构以及 Linux 操作系统。

Spring Framework


VMware披露了两个安全漏洞:CVE-2023-34053,Spring框架服务器Web观测DoS漏洞(Spring Framework Server Web Observations DoS Vulnerability)以及 CVE-2023-34055,Spring Boot服务器Web观测DoS漏洞(Spring Boot Server Web Observations DoS Vulnerability,它们会影响Spring Framework6.0.0 至 6.0.13 版本和Spring Boot3.1.0 至 3.1.5 版本、3.0.0 至 3.0.12 版本以及 2.7.0 至 2.7.17 版本。这两个漏洞都允许攻击者提供特制的 HTTP 请求,这些请求可能会在以下情况下导致拒绝服务:

  • 应用程序使用了Spring MVCSpring WebFlux

  • io.micrometer:micrometer-core制品位于类路径中。

  • 在应用程序中配置了 Micrometer ObservationRegistry接口的实现来记录观测结果。


因此,鼓励开发人员升级到 Spring Framework 6.0.14 以及 Spring Boot 2.7.18、3.0.13 和 3.1.6。

 

Spring Shell的 3.2.0-rc1、3.1.6、3.0.10 和 2.1.15 版本发布,分别进行了缺陷修复和对 Spring Boot 3.2.0、3.1.6、3.0.13 和 2.7.18 依赖升级。3.0 和 2.1 版本系列已被宣布与它们对应的 Spring Boot 版本一起结束生命周期。3.2.0-RC1 和 3.1.6 版本中的新特性包括:支持zsh补全和模态视图;对Terminal UI的小改动。关于此版本的更多细节可以在3.2.0-RC1版本3.1.6版本3.0.10版本2.1.15版本的发行说明中找到。

Quarkus


Red Hat发布Quarkus的 3.6.0 版本,其中有一些显著的变化,比如,支持 OIDC bearer 令牌的自定义授权模式;改进了服务器发送事件(SSE),允许 REST 客户端返回整个 SSE 事件并对这些事件进行过滤;支持与 Jakarta Annotations @RolesAllowed注解类似的@SecureField注解中的表达式。关于这个版本的更多细节可以在变更日志中找到。

 

Red Hat 还宣布JDK 17 将是即将发布的 Quarkus 3.7 要求的最低版本,它计划于 2024 年 1 月底发布。InfoQ 将会跟进更详细的新闻报道。

Open Liberty


IBM发布Open Liberty的 23.0.0.12-beta 版,该版本支持Jakarta Data 1.0.0-M1,其中包括:用于基本存储库方法的新 BasicRepository接口;在CrudRepository接口中添加 insert()和update()方法;新的 @Insert、@Update、@Delete 和 @Save 注解。这个版本还提供了一个可配置的静默超时阶段,即当 Liberty 运行时的关闭时间超过默认的 30 秒时。这能够支持需要更多时间来完成处理请求的服务。

Helidon


Helidon 4.0.1,即第一个维护版本,提供了值得关注的变更,比如,支持 Helidon Web 服务器组件的代理协议; WebServer接口的性能改进;在 CrossOriginConfig.Builder类中定义的enabled()方法现在返回Optional<Boolean>而不是boolean以解决 CORS 问题。关于此版本的更多细节可以在变更日志中找到。

 

同样,Helidon 3.2.4 的发布提供了依赖项升级和一些值得注意的变化,例如,用于延迟 OCI Vault 配置的新类的集合;将 opentracing 相关的类和接口迁移到 Helidon Tracing API;正确处理请求 URL 的 IPv6 地址的解析。关于这个版本的更多细节可以在变更日志中找到。

Hibernate


Hibernate Reactive 2.2.0.Final 版本发布,它兼容 Hibernate ORM 6.4.0.Final and Vert.x SQL driver 4.5.0。Red Hat 还提供了 2.2.1.Final 和 2.0.7.Final 版本,它们分别与Hibernate ORM的 6.3.2.Final and 6.2.13.Final 版本兼容。关于此版本的更多细节可以在发布说明中找到。

 

Hibernate Search 7.1.0 的第一个alpha版本提供了一个孵化特性,即允许在Apache Lucene后端进行矢量搜索,并提供了搜索二进制或文本数据的工具。此外,在 Spring boot 3.2 中读取嵌套 JAR 时,Hibernate Search 将不再启动失败。关于此版本的更多细节可以在发布说明中找到。

Grails 基金会


Grails 5.3.4 发布,提供了依赖升级和一些值得注意的变化,比如,为所有主分支启用 GitHub CodeQL;添加了一个 SnakeYAML 物料清单(BOM)来覆盖 SpringBoot BOM;对 Javadoc 的清理,包括在 Javadoc 中转义特殊字符、重构代码、定义显式类型和删除不必要的变量使用。关于此版本的更多细节可以在发布说明中找到。

Apache 软件基金会


Apache Groovy 5.0.0 的第三个alpha版本提供了缺陷修复、依赖升级和功能改进,例如,支持 JDK 22;实现了在groovyc命令行中进行库编译器时缺失的特性;还有一个针对数组类型的新indexOf(element)扩展方法。关于此版本的更多细节可以在发布说明中找到。

 

同样,Apache Groovy 4.0.16 的发布也提供了缺陷修复、依赖升级和功能改进,例如,对 JDK 22 的支持;在DefaultGroovyStaticMethods类中定义一个新的allThreads()方法,以补充 Java Thread 类中定义的现有currentThread()方法。关于此版本的更多细节可以在发布说明中找到。

 

为了与 Quarkus 保持一致,Camel Quarkus 3.6.0 版本发布,解决了以下问题:在执行QuartzQuarkusSchedulerAutowiredWithSchedulerBeanTest类的时候,出现间歇性的AssertionFailedError;在使用容器的测试中,清除硬编码对主机的使用。关于此版本的更多细节可以在发布说明中找到。

 

Apache Maven 3.9.6 版本提供了依赖项升级和排除插件验证的功能。关于此版本的更多细节可以在发布说明中找到。

JDKMon


监视和更新已安装 jdk 的工具JDKMon发布了21.0.0版本。这个工具由 Azul 的首席工程师Gerrit Grunwald创建,这个新版本通过将所有依赖项移动到最新的 LTS 版本,完全支持 JDK 21。

PrimeFaces


PrimeFaces 的 12.0.7、11.0.13、10.0.20 和 8.0.25 版本发布,特性包括:升级JSON in Java到 20231013,以解决CVE-2023-5072漏洞,该漏洞允许攻击者利用 JSON 解析器中的缺陷,例如,中等大小的字符串输入可能导致无限量的内存使用并导致拒绝服务。关于这些版本的更多细节可以在12.0.7版本11.0.13版本10.0.20版本8.0.25版本的发布说明中找到。

Jupyter for Java


Jupyter for Java,这是一个新的 GitHub 组织,旨在帮助开发人员发现在 Jupyter notebooks 中使用 Java 的各种方法。该项目由 Red Hat 的杰出工程师Max Rydahl Andersen创建,目前包含五个提供资源和样例的仓库。

Gradle


Gradle 8.5.0发布,提供了以下新特性:完全支持在 JDK 21 上编译、测试和运行;Kotlin DSL的改进,包括在预编译 Kotlin 脚本插件中更快的首次使用以及对版本目录的支持;改进了错误和告警的报告。关于此版本的更多细节可以在发布说明中找到。

 

原文链接:

Java News Roundup: JDK 22, Spring CVEs, Liberica JDK, JDKMon 21, Jupyter for Java, Gradle 8.5

2023-12-21 08:006864

评论

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

从广西的新基建耕种,读懂一颗名为智能体的种子

脑极体

1分钟带你解锁Angular

Leo

学习 大前端 angular

6年Java开发经验,蚂蚁金服面试3+2次,最终有惊无险通过!(已拿offer)

Java架构之路

Java 程序员 架构 面试 编程语言

GrowingIO 响应式编程探索和实践

GrowingIO技术专栏

响应式编程

从技术到应用实践 揭秘京东区块链布局全景

京东科技开发者

区块链 区块链方案 供应链

谈谈敏捷开发概念和迭代开发方案

Philips

敏捷开发 快速开发

LeetCode题解:231. 2的幂,迭代,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

TCP梳理总结

江龙

架构师训练营第三周课后作业

天涯若海

GitHub上超牛的Java进阶教程,汇总Java生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识

Java架构之路

Java 程序员 架构 面试 编程语言

低代码开发不靠谱?看低代码开发在物联网APP开发中的应用

华为云开发者联盟

技术 软件开发 代码

MySQL中特别实用的几种SQL语句送给大家

陈哈哈

SQL优化 实用SQl语句 高性能SQL

快快使用ModelArts,零基础小白也能玩转AI!

华为云开发者联盟

人工智能 开发者 开发

LeetCode题解:231. 2的幂,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

这可能是关于编程指南的最实用指南了

华为云开发者联盟

开发者 软件开发 语言

架构师训练营 -week07-作业

大刘

极客大学架构师训练营

阿里P8大牛精心整理,GitHub上超火的《Java工程师成神之路》从基础,到高级、底层、架构、进阶、扩展,囊括了Java体系内的所有知识点。

Java架构之路

Java 程序员 架构 面试 编程语言

“软件教父”花费20年,教你如何在应用层混迹的风生水起

小Q

Java 学习 架构 面试 应用

HTTP2协议及websocket协议总结

江龙

【得物技术】数据分析 - 生活品类社区内容精选池模型

得物技术

数据分析 得物技术部 得物技术 社区内容 精选池模型

应用层软件开发教父教你如何重构,资深程序员必备专业技能

小Q

Java 学习 架构 面试 重构

架构师训练营 第三周作业(手写单例模式)

springH₂O

架构训练营

华为发布5GtoB核心网建设白皮书

华为云开发者联盟

5G 边缘技术

干货 | 京东技术中台的Flutter实践之路

京东科技开发者

flutter

《高效程序员的45个习惯:敏捷开发修炼之道》.pdf

田维常

电子书

力扣解题:第三题(个人思路整理)

人语驿边桥

力扣

一周信创舆情观察(10.26~11.1)

统小信uos

屏读时代,我们患上了注意力缺失候群症

脑极体

一道比较运算符相关的面试题把我虐的体无完肤

Gopher指北

解决大中型浏览器(Chrome)插件开发痛点:自定义热更新方案——1.原理分析及构建部署实现

梁龙先森

Java chrome 大前端 浏览器 技术方案

啥是数据库范式

Simon

MySQL 数据库 数据库设计

Java新闻汇总:JDK 22、Spring CVE、Liberica JDK、JDKMon 21、Jupyter for Java和Gradle 8.5_编程语言_Michael Redlich_InfoQ精选文章