写点什么

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:006711

评论

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

ETLCloud平台组件模版的使用技巧

RestCloud

组件 ETL 模板使用

「白嫖」开源的后果就是供应链攻击么?| 编码人声

声网

npm命令完整使用指南

霍格沃兹测试开发学社

智己汽车与火山引擎在模型应用及算法领域达成深度合作

新消费日报

博睿数据亮相GOPS全球运维大会,Bonree ONE 2024春季正式版发布!

博睿数据

苹果开源高效语言模型 OpenELM;全球首个 AI 基因编辑器开源丨RTE 开发者日报 Vol.192

声网

【论文速读】|大语言模型(LLM)智能体可以自主利用1-day漏洞

云起无垠

云电脑知识科普

青椒云云电脑

云电脑

如何在 Windows 上安装SSMS,保姆级教程来了!

霍格沃兹测试开发学社

在钉钉AI Agent 商店,寻找未来TOB 应用的答案

ToB行业头条

详解数仓的向量化执行引擎

快乐非自愿限量之名

Python 人工智能 数据库 算法

Apache Flink 中作业图与执行图的深入解析

木南曌

flink 实时计算

【论文速读】| 针对红队攻击和防御大模型的攻击提示生成

云起无垠

Docker从入门到精通:Docker 容器数据卷详解

霍格沃兹测试开发学社

云电脑知识科普

青椒云云电脑

云电脑

澳鹏中国大模型智能开发平台4大优势

澳鹏Appen

人工智能 数据 数据集 数据标注 大模型

使用pandas高效读取筛选csv数据

霍格沃兹测试开发学社

出海扩建扩产,光伏制造可复用的数据“最佳实践” | 数据要素 × 工业制造

奇点云

奇点云 数据要素 工业制造 光伏产业

这10款VS Code神仙插件,嵌入式程序员必备

不在线第一只蜗牛

Rhino 8 for Mac(犀牛3D建模软件)

iMac小白

Rhino8激活版 Rhinoceros8 Rhino 8下载

架构实战营 - 模块二 - 作业

小畅

卫星地面站监测系统仿真

DevOps和数字孪生

卫星 协同仿真

ClkLog实践中的挑战:如何设计和实施有效的埋点指标

ClkLog

开源 数据分析 开源软件 埋点分析系统

Parallels Desktop 19 for Mac虚拟机 19.1.0

iMac小白

Parallels Desktop 虚拟机 Parallels Desktop下载 Parallels Desktop19

Things 3.20.5中文免激活版 mac日程和任务管理工具

iMac小白

Things 3 Things下载

程序员转技术管理要做哪些努力?

伤感汤姆布利柏

Stable Diffusion中的embedding

程序那些事

人工智能 程序那些事 openai

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