編譯 | 蘇宓
出品 | CSDN(ID:CSDNnews)
每六個月一更的 Java,如今來到了 Java 26 版本。
本次 Java 26 是一個短期版本,官方提供六個月的支持。
![]()
主要新特性概覽
JDK 26 官方包含 10 項 Java Enhancement Proposal(JEP)功能,具體包括:
1. 模式匹配中的原始類型、instanceof 與 switch(第四次預覽)
這一功能旨在增強模式匹配的表達能力:
允許在任何模式上下文中使用原始類型(如 int, double 等)。
擴展 instanceof 和 switch 以支持所有原始類型。
這是第四次預覽功能,此前在 JDK 23、24、25 中也已提供預覽。目標包括:
支持統一的數據探索,讓所有類型都能使用類型模式。
將類型模式與 instanceof 對齊,并實現安全類型轉換。
允許模式匹配在嵌套模式和頂層模式中使用原始類型。
提供簡單易用的語法,避免因不安全類型轉換丟失信息。
擴展 switch 功能,可處理任意原始類型值。
第四次預覽的改進包括無條件精確性定義增強,以及 switch 構造中更嚴格的支配性檢查,幫助編譯器發現更多潛在錯誤。對于 AI 場景,這使得 AI 與業務邏輯的集成更簡單。
2.AOT 對象緩存
HotSpot JVM 通過 AOT 對象緩存可以提升啟動和預熱速度,適用于包括低延遲 ZGC 在內的任意垃圾回收器。原理是將 Java 對象以中立、與垃圾回收器無關的格式順序加載到內存,而不是映射到 GC 專用格式。
此功能的目標包括:
使所有垃圾回收器與 Project Leyden 引入的 AOT 緩存兼容順暢。
將 AOT 緩存與 GC 實現細節解耦。
保證使用 AOT 緩存不會顯著增加啟動時間。
對于 AI 應用,這意味著任何 GC 都可以通過 AOT 緩存快速啟動,加快模型加載和計算準備時間。
3. Vector API(第十一輪孵化)
JDK 26 引入了 Vector API 第十一輪孵化版本,提供了一個用于表達向量計算的 API,能夠在支持的 CPU 上可靠地編譯成最優向量指令,從而實現比等效標量計算更高的性能。
這個孵化中的 Vector API 最早出現在 JDK 16(2021 年 3 月發布),設計目標是語法清晰簡潔、平臺無關、在 x64 與 AArch64 CPU 上具有可靠性能,并能在不支持向量指令的平臺上優雅降級。
Vector API 的長期目標是利用 Project Valhalla 對 Java 對象模型的增強,使得 Java 在處理大規模計算和 AI 場景時性能進一步提升。
4. 惰性常量(第二輪預覽)
JDK 26 還帶來了惰性常量(Lazy Constants)API 的新預覽,此前通過 JDK 25 的 stable values 功能已提供首次預覽。
惰性常量是持有不可變數據的對象,在 JVM 內部被視為真正的常量,從而可以享受與聲明 final 字段相同的性能優化。與 final 字段相比,惰性常量提供了更靈活的初始化時機,同時在 AI 應用中有利于高效的數據共享。
5. PEM(隱私增強郵件)編碼的加密對象(第二輪預覽)
PEM(隱私增強郵件)編碼 API 的第二次預覽允許將表示加密密鑰、證書以及證書吊銷列表的對象編碼為 PEM 格式,并從該格式解碼回對象。
第二次預覽對 API 做了若干改進,包括將 PEMRecord 類重命名為 PEM,新增了 decode() 方法以返回解碼后的 Base64 內容,同時將 EncryptedPrivateKeyInfo 類的 encryptKey 方法改名為 encrypt,并支持 DEREncodable 對象而非僅 PrivateKey 對象,從而可以加密 KeyPair 和 PKCS8EncodedKeySpec 對象。
6. 結構化并發(第六次預覽)
結構化并發 API 通過將不同線程中運行的相關任務組視作單個工作單元,簡化了并發編程。它優化了錯誤處理和任務取消流程,提高了可靠性和可觀察性。這一特性鼓勵一種更安全的并發編程風格,能夠避免常見的線程泄漏、取消延遲等問題,并提升 AI 并發計算的表現。
7. 深度反射修改 final 字段的使用警告
JDK 26 還引入了對深度反射修改 final 字段的警告,為未來版本做好準備,使得 final 字段默認不可修改,從而保證程序完整性,提高安全性和性能。
開發者可以通過有選擇地啟用修改權限,在必要時繞過當前警告和未來限制。
8. G1 垃圾回收器同步優化以提升吞吐量
在垃圾回收方面,G1 GC 的優化提案旨在減少應用線程與 GC 線程間的同步,從而提升吞吐量。
目標包括降低 G1 GC 的同步開銷、減少寫屏障插入代碼大小,并保持 G1 的整體架構不變。
G1 作為 HotSpot JVM 默認的垃圾回收器,設計上兼顧延遲和吞吐,但在某些場景下,相比以吞吐為導向的 Parallel 和 Serial GC,其性能會有所折中。
G1 GC 的改進意味著應用線程與 GC 線程共享 CPU 并協調執行,這種同步既影響吞吐量,也可能增加延遲,但總體上優化了并發處理和 GC 暫停時間。
9. Client API 支持 HTTP/3
HTTP/3 支持使 Java 庫和應用能夠以最少代碼修改與 HTTP/3 服務器交互。
JDK 26 更新了 HTTP Client API,使其能夠發送和接收 HTTP/3 請求和響應。開發者可以選擇使用 HTTP/3,而無需改變默認協議版本(HTTP/2)。
HTTP/3 是 Web 通信協議的重大版本,基于 IETF QUIC(Quick UDP Internet Connections)協議,支持流控、低延遲連接建立、網絡路徑遷移和增強安全性。
10. 移除 Java Applet API
JDK 26 還正式移除了 Java Applet API,該 API 在 JDK 17(2021 年)已標記為棄用。由于最新的 JDK 版本和現代瀏覽器均不再支持 Applet,這一 API 已毫無實際用途,因此從 JDK 26 開始被徹底移除。
除了這些主要 JEP 功能,JDK 26 還包含一些小型增強功能,例如混合公鑰加密、在使用 jlink 工具交叉鏈接時更嚴格的版本檢查、擴展 HTTP 客戶端請求超時以覆蓋響應體,以及虛擬線程在等待其他線程執行類初始化器時自動從承載線程解綁。這些改進雖然規模較小,但進一步完善了 Java 的整體功能和性能。
目前,JDK 26 可以從 Oracle 官網下載,更多特性細節可查閱:https://jdk.java.net/26/
來源:https://www.infoworld.com/article/4050993/jdk-26-the-new-features-in-java-26.html
【活動分享】「AI進化論」是 CSDN 特別策劃推出的一檔聚焦 AI 產業落地的內容欄目,圍繞大模型、智能體以及企業級 AI 應用展開,試圖回答一個更現實的問題:AI 到底如何走進業務,而不僅停留在演示和概念中。欄目將以直播與深度內容結合的形式展開,我們會邀請一線從業者、技術負責人和創業者,聊一聊 AI 在真實商業場景中的應用、踩過的坑,以及那些真正被驗證過、可以復用的實踐路徑。
如果你正在探索 AI 在業務中的落地方式,或者希望一起打磨更貼近真實場景的解決方案、輸出更有深度的行業分析,歡迎和我們交流(聯系方式:zhanghy@csdn.net)。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.