昨日晚間,Oracle 公司宣布推出Java 21 的正式版本,以及相應的JDK 21 開發工具包,該版本是繼JDK 17 之後最新的長期支援(LTS)版本,將獲得至少8 年的支持。
Java 21 號稱具有數千項效能、穩定性和安全性改進。新的 JDK 21 包括對15 項改進的搶先體驗,這些增強功能是在Oracle CloudWorld 2023 會議上宣布的,包括支援虛擬線程以提高整體吞吐量,以及增加對向量應用程式介面(API)的支持,從而更輕鬆地建立涉及人工智慧AI 模型的Java 應用。
Java 21 也引進了新的 Generational ZGC 垃圾回收機制,並將棄用準備刪除的 32 位元 x86 介面。
Java 21 中提供的重要更新包括:
#
專案織機特點
-
虛擬線程:透過向Java 平台引入輕量級虛擬線程,顯著簡化了編寫、維護和觀察高吞吐量並發應用程式的過程。透過讓開發人員能夠輕鬆地對並發應用程式進行故障排除、調試和分析,並使用現有的 JDK 工具和技術對其進行擴展,虛擬線程有助於加速應用程式開發。
-
作用域值(預覽版)#:允許在執行緒內和執行緒間共享不可變資料。這有助於提高開發人員專案的易用性、可理解性、穩健性和效能。
-
結構化並發(預覽版):透過引入結構化並發API 來簡化並發編程,這有助於推廣一種並發程式設計風格,可以消除因取消和關閉而產生的常見風險(例如線程洩漏和取消延遲),並提高並發程式設計的效率。並發程式碼的可觀察性。這有助於開發人員簡化錯誤處理和取消、提高可靠性並增強可觀察性。
效能更新
-
#分代ZGC:透過擴展Z 垃圾收集器(ZGC) 來維護新物件和舊物件的不同代,從而提高應用程式效能。分代 ZGC 透過降低應用程式所需的堆記憶體和垃圾收集 CPU 的開銷以及降低分配停頓的風險來幫助提高開發人員的工作效率。
語言更新與改進
-
#字串範本(預覽版)#:透過輕鬆表達包含執行時間計算值的字串來簡化Java 程式的開發,並提高從使用者提供的值組成字串並將其傳遞到其他系統的程式的安全性。此外,混合文字和表達式的表達式的可讀性得到增強,並且可以建立根據文字文字和嵌入表達式計算的非字串值,而無需經過中間字串表示形式。這使 Java 語言更具可讀性、可寫入性和可維護性,有助於提高開發人員的工作效率。
-
記錄模式(第三次預覽版):透過擴充模式比對來解構記錄類別的實例以及啟用新增巢狀模式來增強Java 語言。這使開發人員能夠將模式匹配擴展到更複雜和可組合的資料查詢,這有助於提高生產力。
- Switch 的模式匹配:透過允許模式出現在 case 標籤中,擴展了 switch 表達式和語句的表現力和適用性。此外,透過要求模式 switch 語句覆寫所有可能的輸入值,並且所有現有的 switch 表達式和語句可以繼續編譯而不進行任何更改並以相同的語義執行,從而提高了 switch 語句的安全性。這有助於開發人員透過使 Java 語言更加語義化來簡化和提高專案的可靠性,從而可以簡潔、安全地表達複雜的面向資料的查詢。
-
未命名模式和變數(預覽版)#:透過啟用未命名模式來匹配記錄元件而無需說明元件的名稱或型,以及可以初始化但不能使用的未命名變量,從而增強了Java 語言。這有助於透過提高記錄模式的可讀性並提高所有程式碼的可維護性來簡化開發過程。
-
未命名類別和實例主要方法(預覽):幫助簡化和提高Java 語言的可訪問性,以便教育工作者可以逐步引入程式設計概念。透過避免引入單獨的Java 初學者方言和單獨的初學者工具鏈,可以使用編譯和運行任何Java 程式的相同工具來編譯和運行學生程序,從而幫助學生以簡潔的方式編寫基本程式並優雅地擴展程式碼隨著他們的技能提高。這有助於提高學生開發人員的工作效率,使他們能夠編寫第一個程序,而無需了解為大型程式設計的語言功能。
#
以上是Java 21發布!虛擬線程、AI介面驚人亮相,LTS版持續支援8年的詳細內容。更多資訊請關注PHP中文網其他相關文章!