Java 近期新闻: NetBeans 15、Jakarta EE 10、jtreg 7、Spring Cloud、Groovy、Helidon 和 Micronaut
本期的 Java 新闻包括 OpenJDK、JDK 20、Jakarta EE 10、Spring Cloud 2021.0.4、Quarkus 2.12.1、Micronaut 3.6.2 和 3.6.3、Helidon 2.5.3、JDK 8 维护版本的重要变更、Hibernate ORM 6.1.3、Reactive Native JHipster 4.3.0、Apache NetBeans 15、Apache Groovy 4.0.5、Apache Camel 3.18.2、Ktor 2.1.1 以及 JavaZone 会议。
OpenJDK
JDK 的回归测试工具 jtreg
7 版本 发布
,其特性包括升级至 JUnit 5,提供了 Jupiter API
并支持运行现有的 JUnit 4 测试和 标签语言规范(Tag Language Specification)
。第三方库 JAR 文件的命名约定已经变更为使用
jtreg
构建时指定的 JAR 文件的基础名称。这个名称可能依赖于库的版本。受此影响的 JDK 测试均已更新。
jtreg
7 支持的最低版本是 JDK 11。
JDK 19
JDK 19 依然处于 发布候选 阶段,预计 GA 版本会在 2022 年 9 月 20 日发布。 发布说明 包含了文档的链接,比如 完整的API规范 以及一个 标注的API规范 ,后者对比了 JDK 18( Build 36 )和 JDK 19( Build 36 )的差异。关于 JDK 19 的更多细节和对 JDK 20 的预测可以参阅 InfoQ 的 新闻报道 。
JDK 20
JDK 20 的 早期访问构建 版本 Build 14 发布,它是对 Build 13 的 更新 ,包括对各种 问题 的修复。关于该版本的更多细节,请参阅 发布说明 。
对于 JDK 19 和 JDK 20 ,鼓励开发者通过 Java Bug数据库 报告缺陷。
Jakarta EE 10
在通往 Jakarta EE 10 的路上,Eclipse 基金会的 Jakarta EE 开发人员倡导者 Ivar Grimstad 在他的 Hashtag Jakarta EE 周报 上 宣布 ,Jakarta EE 10 的 Platform Profile 和 Web Profile 审查投票已经开始,预计会在 9 月 13 日结束。 Core Profile 已经在 8 月份通过了审查。这似乎是一个好的信号,Jakarta EE 10 有可能会在本月正式发布。关于 Jakarta EE 规范的更多细节可以参阅 Grimstad 在 JavaZone 上做的题为 Jakarta EE 10 - Feature-by-Feature 的演讲。
Spring 框架
代号为 Jubilee 的 Spring Cloud 2021.0.4 版本 发布 ,其特性包括对所有 Spring Cloud 子项目的更新,在 Config , Gateway 、 OpenFeign 和 Circuit Breaker 方面都有明显的变化。关于该版本的更多细节,可以参阅 发布说明 。
Quarkus
Red Hat 发布 了 Quarkus 2.12.1.Final,对 RequestContext 类的性能下降问题进行了修复。此外,还对 Smallrye OpenAPI 2.2.1 和 Dekorate 2.11.2 进行了依赖升级。关于该版本的更多细节,可以参阅 发布说明 。
Micronaut
Micronaut 基金会发布了 3.6.2 和 3.6.3 版本的 Micronaut ,对 Micronaut 的一些模块进行了缺陷修复和补丁发布,例如 Security 、 Email 、 Micronaut for Spring 、 Tracing 、 Flyway 、 AWS 、 Serialization 和 Data 。3.6.2 版本还提供了升级后的 SnakeYAML 1.31,它解决了 CVE-2022-25857 漏洞,在之前版本 SnakeYAML 中的这个漏洞缺少对集合嵌套深度的限制,很容易导致拒绝服务攻击(Denial of Service)。关于这些版本的更多细节可以在 3.6.2 和 3.6.3版本 的发布说明中找到。
Helidon
Helidon 2.5.3 发布
,其中有许多变化,包括在 gRPC 组件中升级了 protocol buffer 以支持
osx-aarch_64
架构;在 Security 组件中实现了 access token 刷新;在 Config 组件中修复了为 watcher 服务获取父目录的问题。此外,还对 SnakeYAML 1.31 和 Oracle Cloud Integration Integration 2.41.0 进行了依赖升级。
BellSoft
BellSoft 是 Liberica JDK (OpenJDK 的下游发布版)的创建者,他们讨论了一些 重要的变更 ,这会影响将于 2022 年 10 月发布的 JDK 8 Maintenance Release 4。核心变化是 JDK-8202260,也就是 JDK缺陷系统 中定义的 引用对象不应该支持克隆(Reference Objects Should Not Support Cloning) ,它描述了在 Java SE 8 平台中发现的一个重要问题:
在 Java SE 规范中,并没有明确定义克隆引用对象的语义。克隆与垃圾回收密切相关,如果引用对象的可达性状态在 GC 活动中发生变化,收集器可能在代码调用
clone()
方法之前,对该对象进行入队(enqueue)。结果就是,克隆的对象不会被入队和引用。从而导致高度不可预知的引用处理。
在 JDK 9 和 JDK 11 中进行了一些后续的变更,这些变更会回传到 JDK 8 Maintenance Release 4 中。例如,在 JDK 11, Reference.clone()
方法始终会抛出一个
CloneNotSupportedException
异常。
Hibernate
Hibernate ORM 6.1.3.Final 发布 了一项 优化 ,其中带有 @JdbcTypeCode (SqlTypes.JSON)和 @JdbcTypeCode(SqlTypes.SQLXML)注解的字符串将不会被序列化为 JSON/XML。相反,它们会被解析为纯 JSON/XML,以避免序列化/反序列化的开销。
React Native JHipster
在 JHipster 7.9.3发布后不久 , JHipster React Native 的 4.3.0 版本已 交付给 Java 社区。改进之处包括:通过 React Native 0.69.5 和 React 18 升级到 Expo SDK 46 ;迁移到 Expo Application Services ;支持基于 Auth0 的注销;为 GitHub Actions 使用 Node 16;大量的依赖升级;以及使用 Keycloak、Okta 和 Auth0 改进质量保证。关于这个版本的更多细节可以参阅 发布说明 。
Apache 软件基金会
Apache NetBeans 15 发布 ,其特性包括:支持 JEP 413,即 Java API文档中支持代码片段(Code Snippets in Java API Documentation) (在 JDK 18 中交付);清理代码库,删除对 Windows 95 和 Windows 98 的支持;升级到 Maven-Indexer 6.2.0,包括删除避免 IndexOutOfBoundsException 的临时方案;以及更新到 Oracle Cloud Integration 2.27.0。关于这个版本的更多细节可以参阅 发布说明 。
Apache Groovy 4.0.5 发布 ,它具有 56 个缺陷修复、改进和依赖性升级,比如,JUnit Jupiter 5.9.0、JUnit Platform 1.9.0、Gradle 7.5.1、Spock 2.2 和 slf4j 2.0.0。 唯一的新特性是对 DateUtilExtensions 类的增强,以便检索静态日历常量的子集。关于这个版本的更多细节可以在 发布说明 中找到。
Apache Camel 3.18.2 发布
,它包含了 50 个错误修复和改进,例如:支持 Camel Freemarker
组件中的邮件附件;以及处理
CamelMicroProfilePropertiesSource
类中
loadProperties()
方法中的
NoSuchElementException
。还有一些依赖性的升级,包括 Spring Boot 2.7.3 和 gRPC 1.48.1。关于这个版本的更多细节可以在 发布说明
中找到。
JetBrains
JetBrains 发布
了 Ktor 2.1.1,其特性是改进了以下问题:Netty HTTP/2 的异常;JDK 8 和 JDK 11 在构建 Ktor 时的不匹配;以及废弃
receiveOrNull()
方法,该方法被认为令人感到困惑。关于这个版本的更多细节可以在 更新日志中
找到。
JavaZone Conference
JavaZone 会议在挪威奥斯陆的 Oslo Spektrum 举行,来自 Java 社区的许多演讲者发表了闪电演讲、报告和工作坊。
原文链接:
Java News Roundup: NetBeans 15, Jakarta EE 10, jtreg 7, Spring Cloud, Groovy, Helidon, Micronaut
- 那些 Go 语言发展历史上的重大决策
- 从趋势到挑战,一站式解读操作系统运维和可观测性
- 百万级 Topic,腾讯云的 Apache Pulsar 稳定性实践
- Apache Doris 在思必驰的应用优化实践:海量语音通话数据下,实时、离线一体的数仓架构设计实践
- 爱数正式开源认知智能开发框架 KWeaver
- 运维智能化的三大关键技术
- “抄我的还‘反捅’我一刀”,Gary Marcus 发文驳斥图灵奖得主 Yann LeCun
- 当出海成为必选项,企业如何构建全场景全生态技术底座?
- 数智底座必备能力三:快速构建创新应用
- Docker 多阶段构建实战 (multi-stage builds)
- 工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(上)
- 经久不衰的设计定律是不要让我思考的设计
- 不要指望下一个像 GPT 这样的大型语言模型会民主化
- Java 近期新闻:Helidon Níma、Spring Framework、MicroProfile、MicroStream、Kotlin 和 Piranha
- 一文入门 jQuery
- C 学习 ---__libc_open 函数的原理
- 监控系统工作原理
- 甲骨文新微服务框架 Helidon Níma:使用虚拟线程实现高性能
- 【云原生 | 从零开始学 Kubernetes】二、使用 kubeadm 搭建 K8S 集群
- Elasticsearch 聚合学习之四:结果排序