Java 近期新闻:OpenJDK 更新、Spring Framework 6.0-M3、Helidon 3.0-M1、JobRunr 5.0-M1

2022 年 3 月 14 日发布的 Java 近期综述,包括来自 OpenJDK、JDK 19、Spring Framework 6.0-M3 和 5.3.17、Spring Tools 4.14.0、Quarkus 2.7.5、Helidon 3.0-M1、2022 年 3 月的 Payara 平台、Open Liberty 22.0.0.3 和 22.0.0.4-beta、Hibernate ORM 5.6.7、Hibernate Search 6.1.3 和 6.0.9、Jobrener 5.0-RC1、Apache Camel 3.11.6、Piranha 22.3.0.0 的新特性,JReleaser 的更新,以及 Java 意义重大的原因。

OpenJDK

在为期一周的审查结束之后,JEP 422, 即Linux/RISC-V移植 ,已经从 JDK 19 的 Proposed to Target 状态提升到了 Targeted 状态。该 JEP 提议将 JDK 移植到 Linux/RISC-V,这是一种免费的开源 RISC 指令集架构。它将会支持模板解释器、C1 和 C2 JIT 编译器,以及所有当前主流的 GC,包括 ZGC 和 Shenandoah。该 JEP 的重点是将该移植集成到 JDK 主线代码库中。

JEP 草案 8283227,即 JDK源代码结构 ,是一个信息性的 JEP,描述了 JDK 源代码和 JDK 代码库中相关文件的整体布局和结构。该 JEP 旨在帮助开发人员适应 JEP 201( 模块化源代码 )所描述的源代码结构,JEP 201 在 JDK 9 中发布。

JEP 草案 8283291,即 扩展操作码(Extended Opcodes) ,是一个基础设施 JEP,提议可以超越任意的单字节流限制释放更多的操作码,这将为未来项目中的新指令和 JVM 的增强留出更多空间。

JDK 18

JDK 18 仍处于 候选发布阶段 ,预计将于 2022 年 3 月 22 日发布 GA 版本。 发布说明 中包含了一些文档链接,比如 完整的API规范 和 一个带注释的API规范 ,这些规范比较了 JDK 17( 第35版 )和 JDK 18( 第37版 )之间的差异。InfoQ 将会继续跟进相关消息并发布更详细的新闻报道。

JDK 19

JDK19 早期访问构建版本 的 第14版 已于上周发布,其中包括对第 13 版中各种问题的 修复 及 更新 。更多详细信息请查看 发布说明 。

对于 JDK 18 和 JDK 19 ,均鼓励开发人员通过 Java缺陷数据库 来报告缺陷。

Spring 框架

Spring Framework 6.0.0-M3 和 5.3.17 已于上周 发布 。

5.3.17 版本提供了一些新特性,比如:在客户端 REST 测试中支持自定义的 HTTP 状态;修复了 AsyncRestTemplate 类中日志记录过于冗长的问题;并在创建大型数组后改进了 Spring表达式语言(Spring Expression Language,SpEL) 的诊断功能。更多有关 5.3.17 版本的详细信息,请查阅 发布说明 。

Spring 6.0 的第三个里程碑版本的特性是对 Spring Native 的 Ahead-of-Time 引擎进行了初步迁移,这将在整个 Spring 生态系统中提供全面的原生支持。更多有关 6.0.0-M3 版本的详细信息,请查阅 发布说明 。

Spring Tools 4.14.0 已 发布 ,其中包含对 Eclipse IDE 2022-03 的依赖项升级,并修复了以下问题:JDK 17 被错误地识别为 JDK 8;Windows 上 Outline View 再次崩溃;VSCode 扩展偶尔会向“问题”区域发送诊断条目;以及 VSCode Spring 引导工具查找 JVM 时报错。更多详细请查看 变更日志 。

Quarkus

Quarkus 2.7.5.Final 已 发布 ,它是 第五个维护版本 ,其中包括一些文档改进和缺陷修复,比如: curl URL 和注释格式;SmallRye GraphQL 客户端中的依赖项;配置资源不存在时的 NullPointerException ;并在 JAX-RS 方法的泛型返回类型中支持通配符。更多有关该版本的详细信息,请查看 变更日志 。

Helidon

甲骨文发布了 Helidon 3.0 的 第一个里程碑版本 ,其特性包括支持 MicroProfile 5.0,即将 javax 迁移到 Jakarta EE 9 的 jakarta 命名空间;以及最低要求需 JDK 17+。因此,将不再支持 JDK 11。

Payara

Payara 已经发布 了其 Payara Platform 的 2022 年 3 月版,该版本为企业版。Payara Platform Enterprise 5.37.0 版提供了 8 个缺陷修复、1 个组件升级和 2 个改进:一个仅适用于远程命令的本地 asadmin 命令自动完成程序;以及 WebConsole 中更新的安装目录工具提示。更多有关该版本的详细信息,请查阅 发布说明 。

Open Liberty

IBM 已将 Open Liberty 22.0.0.3 的 beta版本 提升 为 deliver 版本,以修复一些值得注意的缺陷,比如: @RolesAllowed 注解拒绝已认证的用户; Jakarta JSON Processing 2.0 和 Jakarta JSON Binding 2.0 容器(构件分别为 jsonpContainer-2.0 和 jsonbContainer-2.0 )错误地提供了默认的提供者。该版本还允许在事务恢复日志中执行 SQL 操作。

Open Liberty 22.0.0.4-beta 版也 已发布 ,其特性支持 MicroProfile GraphQL 2.0、JDK 18 和分布式安全缓存,这样多个 Liberty 服务器可以通过 JCache 共享缓存。

Hibernate

Hibernate ORM 5.6.7.Final 在短命的 5.6.6.Final 之后 也发布 。5.6.6.Final 会显示一些令人困惑的弃用警告。

Hibernate Search 的 6.1.3.Final 和 6.0.9.Final 版本也已发布,其特性包含对 Hibernate ORM 5.6.7.Final 的升级,以及用于 Hibernate ORM 6.0.0.CR2 的 -orm6 构件 。

JobRunr

JobRunr 是一个在 Java 中执行后台处理的实用工具,它上周发布了 5.0.0-RC1版本 ,添加了对以下特性的支持:按指定的时间间隔调度重复作业;SLF4J 的 映射诊断上下文 ;Spring Native;以及 JobRunr Fluent API 中的 MicroMeter。更多详细信息请查阅 发布说明 。

Apache Camel

Apache 软件基金会在 Camel 3.11 版本的发布序列中 提供 了一个新的 LTS 小版本发布。3.11.6 版本包含了 23 个缺陷修复和改进,并对 Spring Boot 的 2.6.4 和 2.5.10 版本、 Camel Spring Boot 中的 Spring Boot 2.5.9 和 log4j 2.17.1 进行了依赖项升级,更多详细信息请查看 发布说明 。

Piranha

Piranha 22.3.0 已发布。这个版本被称为“我们春季的大扫除”,包括:项目内部清理;添加标记文件,以指示服务器变体的启动/停止状态;列出已部署的服务器变体应用程序;添加可由 IDE 引用的调试模块,以获取所有依赖项和源代码。更多详细信息请查看他们的 文档 和 问题追踪 。

JReleaser

在通往 1.0.0 版的道路上, JReleaser 更新了一个 早期访问版本 ,其特性包括:允许文件和目录属性的字符串输入;并在发现不可解析的标签时修复不正确的选择提交。

Java 仍然意义重大的七个原因

最近,在 Foojay.io 上的 一篇博客文章 中,Contrast Security 的高级软件工程师 Bazlur Rahman ,讨论了 Java 在 26 年后仍然意义重大的 7 个原因,以下列表来自他与 Java 开发人员的多次讨论,并结合了他在 Java 社区和使用平台的个人经验:

  1. 社区

  2. 语言和平台

  3. 解决的问题比其他任何生态系统都多

  4. 稳定性

  5. 创新

  6. 工具

  7. 就业机会

Rahman 指出,开发人员“应该投资于一个拥有坚实基础、可靠、成熟、经过验证的产品组合”,因为开发人员需要在特定编程语言上投入大量的时间。

### 回答1: 要拉取 openjdk:11-jdk-stretch docker 镜像,可以按照以下步骤进行: 首先,确保已经安装了 Docker 并且可以正常运行。你可以在终端中输入 docker version 来检查 Docker 版本信息。 接下来,在终端中运行以下命令来拉取 openjdk:11-jdk-stretch 镜像: docker pull openjdk:11-jdk-stretch 这个命令会从 Docker Hub 上下载 openjdk:11-jdk-stretch 镜像,并且自动保存到本地。 拉取过程可能会需要一些时间,具体取决于你的网络速度。 当下载完成后,你可以使用以下命令来查看已下载的镜像列表: docker images 这个命令会列出所有本地已下载的镜像,你可以在其中找到刚刚拉取的 openjdk:11-jdk-stretch 镜像。 接下来,你可以使用以下命令来创建并运行一个基于 openjdk:11-jdk-stretch 镜像的容器: docker run -it openjdk:11-jdk-stretch 这个命令会自动运行 openjdk:11-jdk-stretch 镜像,并通过交互模式(-it 参数)连接到容器的终端。 现在你可以在容器中运行 Java 应用程序或执行其他操作。在容器中进行的更改和操作将不会影响到本地机器。 最后,如果你想停止正在运行的容器,可以按下 Ctrl+C 来退出容器终端,并使用以下命令停止容器: docker stop 容器ID 这里的 "容器ID" 是你要停止的容器的唯一标识符。 以上就是使用 Docker 拉取 openjdk:11-jdk-stretch 镜像的步骤和基本操作。希望对你有所帮助! ### 回答2: 要拉取 OpenJDK 11 的 Docker 镜像,可以使用以下命令: ``` $ docker pull adoptopenjdk/openjdk11:jdk-11.0.12_7-docker-stretch ``` 这个镜像使用了 AdoptOpenJDK 组织提供的 OpenJDK 11 版本,并基于 Debian Stretch 系统构建。 首先,我们使用 `docker pull` 命令指定要拉取的镜像。它会下载镜像的最新版本并保存到本地。在这个命令中,我们使用了 `adoptopenjdk/openjdk11` 作为镜像的仓库名,后面的 `jdk-11.0.12_7-docker-stretch` 是具体的版本标识符,表示要拉取的是 OpenJDK 11 版本。 拉取镜像可能需要一些时间,取决于你的网络速度和镜像的大小。一旦拉取完成,你就可以使用该镜像来创建和运行基于 OpenJDK 11 的应用程序的容器了。 希望这个回答对你有所帮助! ### 回答3: 要拉取OpenJDK 11的JDK镜像,可以使用以下命令: ``` docker pull openjdk:11-jdk-stretch ``` 这个命令会从Docker Hub上拉取OpenJDK 11的JDK镜像,镜像的标签为"stretch",表示基于Debian 9系统。 拉取过程中,Docker会自动下载并解压镜像文件。完成后,你就可以在本地使用该镜像来构建和运行Java应用程序。 OpenJDK是一个开源的Java开发工具包,它提供了Java编译器、运行时环境和相关的开发工具。通过使用Docker拉取OpenJDK镜像,你可以快速搭建开发和测试环境,而无需手动安装和配置Java环境。 在拉取完镜像之后,你可以使用以下命令来查看已拉取的镜像列表: ``` docker images ``` 该命令会显示已拉取的OpenJDK 11镜像的详细信息,包括镜像ID、标签、大小和创建时间等。 希望这个回答能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值