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 聚合學習之四:結果排序