Java 近期新聞:Loom 和 Panama 更新、Groovy 4.0、GraalVM 22.0 CE 和 Jakarta EE RPC
本期的 Java 新聞綜述的訊息包括 OpenJDK、JDK 18、JDK 19、Loom 和 Panama 專案、Jakarta EE、Groovy 4.0、Spring Framework 更新、Micronaut 3.3.0、GraalVM 22.0 CE、Liberica NIK、MicroProfile Reactive Streams Operators 3.0-RC1、Hibernate 更新、JHipster 7.6、IntelliJ IDEA 2021.3.2、JReleaser 早期訪問版本、Apache Camel 與 Camel K 以及 Foojay.io 的 FOSDEM。
OpenJDK
甲骨文公司的首席技術人員 Jonathan Gibbons 日前 宣佈 , jtreg 6.2 版本(JDK 測試框架中用來編寫回歸測試的工具)將會是支援舊版本 JDK 的最後一個版本。正如 Gibbons 所述:
從 JDK 9 開始,
jtreg
一直被限制為相容 JDK 8 進行編譯,所以我們能夠編譯程式碼的某些部分以便在舊版本上執行,這實際上意味著整個
jtreg
被限制只能使用 JDK 8 中的 API 和語言特性。
這個變更會使程式碼庫更加現代化,將會需要 JDK 11 或 JDK 17 作為最小版本。
JDK 18
JDK 18 早期訪問構建 的 Build 33 版本已經發布,它是對 Build 32 的 更新 ,包括了對各種 問題 的修復。更多細節可以在 釋出說明 中找到。
JDK 19
JDK 19 早期訪問構建 的 Build 7 版本已經發布,它是對 Build 6 的 更新 ,包含了對各種 問題 的修復。更多細節可以在 釋出說明 中找到。
對於 JDK 18 和 JDK 19 ,歡迎開發者通過 Java Bug資料庫 報告缺陷。
Loom 專案
Loom 專案 早期訪問構建 的 Build 19-loom+2-58 版本已經面向 Java 社群釋出,它是基於 JDK 19 早期訪問構建 Build 6 的。
Panama 專案
Panama 專案 早期訪問構建
的 Build 19-panama+1-13 版本也已經面向社群釋出,它基於 JDK 19 的一個不完整版本,其特性是將
jextract
工具與 JDK 18 保持一致。
Jakarta EE
來自 Eclipse 基金會的 Jakarta EE 開發人員倡導者 Ivar Grimstad 在他的 Hashtag Jakarta EE 每週 部落格 中 宣佈 , Jakarta EE規範委員會(Jakarta EE Specification Committee) 已經 批准 了一項新的規範,即 Jakarta RPC 。這個新規範將專注於在 Jakarta EE 生態系統中構建基於 gRPC 的應用。如果開發者對參與 Jakarta RPC 感興趣,歡迎加入 Jakarta RPC 郵件列表 。
Groovy
期待已久的 Groovy 4.0.0 業已面向 Java 社群釋出,相對於 RC-2版本 ,它包含了 28個缺陷修復/改進 ,相對於 Groovy 3.0.0版本 ,它包含了 800 多個新特性、改進和缺陷修復。這包括switch 表示式、record、密閉型別以及 Groovy整合查詢(Groovy-Integrated Query,GINQ) ,這是一個類似於 SQL 語法用來進行查詢的 DSL。更多細節可以參閱 釋出說明 。
Spring 框架
在通向 Spring Cloud 2022.0.0(代號為 Kilburn)版本的道路上, 第一個里程碑版本 業已釋出。與 Spring Framework 6.0 和 Spring Boot 3.0 一樣,Spring Cloud 2022.0.0 的 GA 版本需要 JDK 17+並且會與 Jakarta EE 9 保持一致。更多的細節,包括一些破壞性的變更,可以參閱 釋出說明 。
Spring Initializr 0.12.0 已經 釋出 ,其中包含 10個缺陷修復和增強 ,並且將依賴升級到了 Gradle 7.3.3、Maven 3.8.4、Maven Resolver 1.7.3、Maven Resolver Provider 3.8.4 和 Spring Boot 2.6.3。更多細節可以在 釋出說明 中找到。
Spring Native 0.11.2 業已 釋出
,包含 30個缺陷修復、文件的增強以及依賴的升級
。一些新的特性包括:通過使用
-DskipTests
標記以防止生成不必要的 Maven AOT 測試源;當探測到
logback.xml
時,生成有意義的錯誤資訊;在 AOT 模式下,正確地禁用
spring-boot-devtools
模組。
Spring Authorization Server 0.2.2 釋出 ,該版本包含了新的特性、缺陷修復和依賴升級。更多細節可以參閱 釋出說明 ,另外,該 示例應用 也可以幫助開發者入門。
Micronaut
Micronaut 基金會 釋出了 Micronaut 3.3.0,其中包括了對 GraalVM 22.0.0 的支援,並且引入了一個新的模組 Micronaut Email ,藉助該模組能夠在 Micronaut 應用中更高效地傳送電子郵件。更多細節可以在 釋出說明 中找到。
Micronaut 還 宣佈 ,鑑於存在 兩個不合規的例項 , Let’s Encrypt 撤銷了從 2022 年 1 月 26 日到 1 月 28 日使用其 TLS 與 ALPN 驗證方法的證書。這可能會影響到使用 Micronaut Acme 來更新安全證書的開發者。
GraalVM
在之前的 Java 新聞綜述中,InfoQ 曾經報道過 GraalVM 22.0 企業版 釋出 的訊息,而因為要進行一些額外的測試,社群版的提供時間有所延遲。最近,針對 JDK 11 和 JDK 17 的 GraalVM 22.0 社群版已經 釋出 ,其特性是改進了原生映象工具的構建時間和記憶體使用。InfoQ 在 新聞報道 中提供了更多細節。
Liberica 原生映象工具包
BellSoft 釋出了新 Liberica 原生映象工具包(Liberica Native Image Kit,NIK)的 22.0.0.2 版本,以及升級版本 21.3.1。新的特性包括:在 MacOS 下的 Liberica NIK 中支援 OpenJFX,並且在所有版本的 NIK 中預設包含了
native-image
工具,從而避免使用
gu
工具單獨安裝它。
MicroProfile
在通往 MicroProfile Reactive Streams Operators 3.0 的道路上, 第一個候選版本
已經發布,特性包括與 Jakarta EE 9.1 保持一致,並重構 Java ServiceLoader
類中的
load()
方法,以便於在實現 ReactiveStreamsEngine
和 ReactiveStreamsFactory
介面時作為一個 PrivilegedAction,從而解決使用 WildFly 時的安全問題。更多的細節可以在 釋出說明
中找到。
Hibernate
Hibernate Search 6.1.0.Final 版本 釋出 ,其特性包括通過 outbox-polling 協調策略支援非同步、分散式的自動化索引;相容 Elasticsearch 7.16 以及 OpenSearch 1.0 和 1.2 版本;使用 DSL 語言改進搜尋的新斷言(predicate)。
Hibernate ORM 5.6.5.Final 版本 釋出 ,特性包括改進對 H2 資料庫 最新版本 2.1.210 的相容性,但是依然建議開發人員檢視 H2 資料庫的 變更日誌 ,並根據需要更新指令碼、ORM 對映和 H2 配置。
在通往 Hibernate ORM 6.0 的道路上, 第一個候選版本 已經發布,包括通過 @CollectionType 或 @CollectionTypeRegistration 註解實現對 UserCollectionType 介面的支援。鼓勵開發者檢視 使用者指南 。
JHipster
JHipster 的 7.6.0 版本業已 釋出 ,包括如下的特性: 依賴升級 到 Spring Boot 2.6.3;修復 Vue 的 userManagementService 問題;修復使用 Angular 時,更新到之前的 JHipster 7.5.0 版本後,web 不更新 的 Browsersync 的問題;以及一些庫的升級。更多細節可以參閱 釋出說明 。
IntelliJ IDEA
JetBrains 釋出 了 IntelliJ IDEA 2021.3.2,該版本修復了一些功能,例如,macOS 上的 Cmd-N(⌘N)在呼叫 File->New 後 不能開啟 Generate 對話方塊; 不必要 的索引重新掃描;以及 YAML 檔案的 縮排問題 。更多的細節可以在 釋出說明 中找到。
JReleaser
JReleaser
是一個簡化專案釋出的 Java 工具,它的 早期訪問版本
包括如下的特性:對 Docker 規範的修復; Archive
釋出型別中對
null
的檢查;以及將 check-multi-line-strings
屬性的預設值從
true
改為
false
。InfoQ 計劃在 JReleaser 1.0.0 的 GA 版本釋出時跟進發布更詳細的新聞報道。
Apache Camel
Apache 軟體基金會在 Camel 3.14 釋出列車中 提供 了一個新的 LTS 小版本。3.14.1 版本有 47 個缺陷修復和改進,並對 Log4j2 的 2.16.0、2.17.0 和 2.17.1 版本、Logback 1.2.8、camel-spring-boot 2.6.3 和 bouncycastle 1.70 進行了依賴性升級。
Apache Camel K 的 1.8版本 已經 釋出 ,其特性包括支援 KEDA (Kubernetes Event-Driven Autoscaling),這將使開發人員能夠更有效地提供傳入事件的自動縮放功能。關於這個新功能的更多細節可以參閱這篇 部落格文章 。
Camel K 是一個輕量級的整合框架,基於 Camel K Runtime 1.11.0、Camel Quarkus 2.6.0、Camel 3.14.0 和 Camel Kamelets 0.7.0 構建。
Foojay.io at FOSDEM 2022
OpenJDK 之友(Friends of OpenJDK), Foojay.io ,是一個 Java 生態系統的社群平臺,會在 FOSDEM 2022 會議上主持他們自己的 developer rooms ,該會議定於 2022 年 2 月 5 日至 6 日(週六至週日)舉行。
FOSDEM 是一個由志願者組織的為期兩天的活動,旨在促進自由和開源軟體的廣泛使用,將提供一些議題和其他 developer rooms,又稱 devrooms,由其他組織和社群主辦。
原文連結:
Java News Roundup: Loom and Panama Updates, Groovy 4.0, GraalVM 22.0 CE, Jakarta EE RPC
- 那些 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 聚合學習之四:結果排序