本週 2026 年 6 月 29 日的 Java 摘要,重點新聞包括:新的 JEP 候選項目「嚴格欄位初始化」;GraalVM、JReleaser、RefactorFirst 與 Java Operator SDK 的點版本更新;GlassFish 與 Micronaut 的維護版本;Grails 8.0 的第二個里程碑版本;以及 Open Liberty 26.0.0.7 的 beta 版本。

OpenJDK

JEP 539,JVM 中的嚴格欄位初始化(預覽),已從 JEP Draft 8350458 提升Candidate 狀態。此 JEP 在 Java 虛擬機器中引入嚴格初始化的欄位,這些欄位必須在被讀取前完成初始化。因此,永遠不會觀察到 0 或 null 等預設值。此功能可供發出類別檔案的編譯器使用。

JDK 27

Build 29 的 JDK 27 早期存取版本 已於上週推出,包含來自 Build 28 的 更新,其中包含對各種 問題 的修正。此版本的進一步細節可參閱 發行說明

JDK 28

Build 5 的 JDK 28 早期存取版本 也於上週推出,包含來自 Build 4 的 更新,其中包含對各種 問題 的修正。此版本的更多細節可參閱 發行說明

GlassFish

GlassFish 7.1.1 的發行版本提供了錯誤修正、相依性升級以及改進,例如:簡化 isValidAnnotation() 方法(定義於 WeldUtils 類別中),當沒有有效的型別名稱時會快速失敗;以及 isInterceptor() 方法(定義於 InjectionServicesImpl 類別中)現在已快取,以避免在每次請求的 CDI 注入路徑上遍歷註釋階層的較高成本。

此版本也修復了四個 CVE,其中兩個影響 GlassFish 8.0.1、8.0.0、7.1.0 以及 7.0.0-7.0.25 版本:

  • CVE-2026-2586,一個遠端程式碼執行 (RCE) 漏洞,允許具有管理主控台存取權的攻擊者傳送惡意製作的請求,以應用程式服務使用者的權限執行任意作業系統指令。
  • CVE-2026-2587,同樣是伺服器端樣板渲染機制中的 RCE 漏洞,允許攻擊者入侵基礎主機,並啟用讀取/修改資料、執行任意指令、持久化以及橫向移動等功能。

此版本的進一步細節可參閱 發行說明

GraalVM

發行GraalVM 25.1 包含顯著變更,例如:產生的原生映像大小減少 3%;支援在 macOS AArch64 上的原生映像中使用 G1 GC(僅在 Oracle GraalVM 中提供);以及 GraalVM Reachability Metadata Repository 中總共提供 1500 個函式庫,供 Native Build Tools 使用。此版本的更多細節可參閱 發行說明 以及此 YouTube 影片

Micronaut

Micronaut Foundation 已 發布 Micronaut Framework 5.0.3 版本,基於 Micronaut Core 5.0.4,包含以下模組的修補程式更新:Micronaut AWSMicronaut DataMicronaut SQL LibrariesMicronaut R2DBC;以及 Micronaut Problem JSONMicronaut TestMicronaut Micrometer。此版本的進一步細節可參閱 發行說明

Open Liberty

beta 版本Open Liberty 26.0.0.7 提供了顯著變更,例如:支援 Jakarta Data 1.1-M3,包含新功能如有狀態儲存庫、新的 @First 註釋,以及能夠在 @Find@Delete 註釋中使用 RestrictionConstraint 介面作為參數;以及在使用基於檔案的健康檢查機制時,停用 MicroProfile Health 4.0/health 端點。

JReleaser

發行JReleaser 1.25.0 提供了錯誤修正、文件改進、相依性升級以及新功能,例如:支援使用 jlinknative-image 的多種封存格式,可同時產生 ZIP 與 TAR 檔案;以及將秘密遮蔽從全星號改為顯示秘密的第一個與最後一個字元。此版本的更多細節可參閱 發行說明

Grails

Apache Grails 8.0.0 的第二個里程碑版本 包含錯誤修正、文件改進、相依性升級以及顯著變更,例如:確保 Grails 轉換在傳入不正確的目錄至 GlobalGrailsClassInjectorTransformation 類別時會失敗(透過 grails-core 建置);以及在使用 Java ThreadLocal 類別的執行個體時,改善虛擬執行緒清理與執行緒繫結框架狀態的隔離。此版本的進一步細節可參閱 發行說明

RefactorFirst

Jim BethancourtImproving 的首席軟體顧問)已發布 RefactorFirst 0.0.0 版本,這是一個用於優先排序應用程式中應重構部分的公用程式。此版本提供:改進類別關係移除的計算;新增物件導向不和諧偵測器,參考自「Object-Oriented Metrics in Practice」一書;以及從 D3 移轉至 Vizdom 以改善資料視覺化。此版本的更多細節可參閱 發行說明

Java Operator SDK

發行Java Operator SDK 5.4.0(適用於 Java 的 Kubernetes operator 框架)提供了顯著變更,例如:支援分片選擇器(一種 Kubernetes 樣式的標籤選擇器,除了正常標籤選擇器外還會套用),以執行多個複本;新增 defaultFilters 參數至 @ControllerConfiguration 註釋,以提供停用預設篩選事件的選項;以及新增 getSecondaryResource()getSecondaryResourcesAsStream() 方法至 Context 介面,以直接依名稱查詢單一次要資源。此版本的進一步細節可參閱 發行說明

關於作者

Michael Redlich