Java SE 24 已發布。

Java 平台,標準版

經過六個月的開發, Oracle 宣布發布 Java SE 24基於開源 OpenJDK 項目,保持向後相容性,以便大多數先前開發的專案無需修改即可繼續運作。

與長期支援 (LTS) 版本不同, Java SE 24 是一個常規支援版本, 這意味著直到下一個版本才會更新。對於那些尋求長期穩定性的人來說,Java SE 21 和 Java SE 17 將分別繼續支援到 2031 年和 2029 年。此外,Java SE 8 LTS 擴充支援將持續到 2030 年,而 Java SE 11 將持續有效到 2032 年。

改進和新功能

在 Java SE 24 的新版本中, 最重要的改進 是介紹 Shenandoah 垃圾收集器的實驗性生成模式 (旨在分別處理新舊物件)。這種新模式提高了清理短暫物件的效率,優化了記憶體使用情況,並在不同負載下提供更穩定的效能。

另一個引人注目的新穎之處是 HotSpot JVM 中對緊湊對象頭的實驗性支持,在 96 位元系統上將其大小從 64 位元減少到 64 位元。這種優化有助於減少堆大小並提高記憶體快取的效率。

垃圾收集器 G1 也經過重新設計進行了優化 監視應用程式對記憶體的存取的屏障。現在,屏障擴展在 C2 JIT 編譯器的編譯過程的稍後階段執行,根據應用程式類型,可將其開銷減少高達 20%。

安全和加密改進

Java SE 24 引進了以下 API: 加密金鑰的導出(肯德基), 允許產生附加密鑰 來自一個密鑰和一組任意資料。該 API 仍處於預覽階段,它加強了平台內金鑰管理的安全性。

另外, 新增了關於使用 API 的警告 Java 本機介面及外部函數及記憶體,為未來實施完整性模式做準備,該模式將限制對本機程式碼的預設存取。透過 sun.misc.Unsafe 類別使用外部記憶體存取方法時也會啟用警告,建議遷移到 VarHandle API。

另一方面,在 Java SE 24 中 支援 ML-KEM 加密演算法 和 ML-DSA (設計為 抵禦量子運算攻擊)。這些演算法基於網路理論問題,確保傳統電腦和量子電腦上的解決時間等效。

Java 安全管理器自從瀏覽器外掛程式支援消失後就不再使用,現已永久刪除。

最佳化

JVM HotSpot 現在允許提前預先載入和連結類,大大加快了應用程式的啟動速度。首次運行時,類別的狀態會被緩存,以方便下次啟動時載入。

Scoped Values 的實作已改進,現在允許在線程之間共享不可變數據 更有效率,取代傳統的執行緒局部變數機制。當同時處理數百萬個虛擬線程時這尤其有益。

另一個新穎之處是 阻塞狀態下虛擬線程的最佳化。在此版本中,被阻止的虛擬線程釋放其平台線程,允許其他線程重複使用它,從而提高多線程使用率高的系統的可擴展性。

其他突出的變化:

  • Stream API 的新擴展,可讓您定義自訂中間操作。
  • 模式匹配引擎已經增強,可以支援 switch 表達式和 instanceof 運算子中的原始類型(int、byte、char 等)。
  • 新增了結構化並發 API 的第四個預覽版本,透過將不同執行緒上的任務視為單一執行單元,簡化了多執行緒應用程式的開發。
  • 引入了一種更簡單的宣告類別和定義 main() 方法的方法,無需定義具有靜態方法的公共類別。
  • 新增了類別檔案 API,讓您更輕鬆、更以程式設計方式解析、產生和轉換 Java 類別檔案。

最後,如果您有興趣能夠了解更多,可以在 以下鏈接。

下載 Java SE 24

對於有興趣安裝新版本 Java SE 24 的人,您應該知道編譯(JDK、JRE 和 Server JRE)已經準備好 Linux、Windows 和 macOS。