🌍The Next Web (TNW)•較早收集於 82m
Project Valhalla 將值類別引入 Java JDK 28

#java#update#jvmjava-jdk-28javaopenjdkoracle
💡Java 十年來最大的語言變革。對於構建高效能 AI 後端的開發者至關重要。
⚡ 30-Second TL;DR
有什麼變化
JEP 401 將值類別與物件整合至 OpenJDK
為什麼重要
此變更將顯著提升高吞吐量 Java 應用程式的記憶體效率與效能,包括驅動 AI 基礎設施的應用程式。
下一步行動
查閱 JEP 401 文件,了解值類別將如何改變您未來 Java 專案中的資料結構設計。
誰應關注:Developers & AI Engineers
關鍵要點
- •JEP 401 將值類別與物件整合至 OpenJDK
- •預計於下月初發布 JDK 28
- •屬於長期進行的 Project Valhalla 計畫的一部分
- •解決 Java 記憶體佈局中根本性的效能限制
🧠 深度解析
背景與延伸:來自公開資料,非原文內容。引用 13 個來源。
🔑 增強重點摘要
- •值類別雖然是參考型別,但缺乏物件識別,這意味著其「==」運算子比較的是欄位值而非記憶體位址,從而允許 JVM 優化其記憶體佈局。
- •JEP 401 整合到 OpenJDK 主線涉及大量的程式碼變更,在 1,816 個檔案中增加了超過 197,000 行程式碼。
- •Project Valhalla 旨在彌合原始型別與物件之間的鴻溝,使 Java 能夠更好地利用現代硬體架構,在這些架構中,記憶體擷取操作的成本遠高於算術操作。
- •值物件的關鍵優化包括堆疊扁平化(減少欄位和陣列中的記憶體佔用)和純量化(避免在 JIT 編譯程式碼中進行記憶體分配)。
- •值類別預設為隱式 final,其欄位也是 final 的,這使得它們預設為不可變。
🛠️ 技術深入
- 值類別定義:值類別的實例使用
value修飾符聲明,僅具有 final 欄位且缺乏物件識別。它們旨在建模不可變的領域值。 - 識別與相等性:與傳統 Java 物件(識別物件)不同,值物件沒有唯一的記憶體位址。值物件的「==」運算子比較其欄位值以判斷狀態相等性,而非記憶體識別。
- 記憶體優化:
- 堆疊扁平化 (Heap Flattening):透過將值物件的欄位值直接編碼到參考中,消除物件標頭和間接指標,從而減少記憶體佔用。這使得值類別的陣列可以連續儲存在記憶體中,提高快取局部性。
- 純量化 (Scalarization):透過將值物件的欄位直接儲存在堆疊或暫存器中,避免在 JIT 編譯程式碼中進行堆疊分配。
- 限制:值類別預設為隱式
final且不能被繼承。它們不能用於同步。由於它們是參考型別,因此仍然支援null。 - JVM 變更:JVM 有望利用缺乏識別的特性,在大多數情況下消除堆疊分配。這涉及對 Java 物件模型和 JVM 層級優化的重大變更。
- API 支援:新的預覽 API 方法
java.util.Objects.isValueObject用於指示物件是否為值物件。java.lang.reflect.Modifier和java.lang.Class也增加了對identity和value標誌的支援。
🔮 前景展望AI analysis grounded in cited sources
資料密集型應用程式的顯著效能提升。
透過消除物件標頭、指標間接性,並啟用內聯儲存和純量化,值類別大幅減少了記憶體開銷並改善了快取局部性,從而實現更快的執行速度,尤其是在大型資料結構和數值計算中。
簡化不可變資料的程式設計模型。
開發人員可以為純資料聚合(例如,座標、貨幣金額)定義自訂值類別,使其行為更像原始型別,減少物件的「洩漏抽象」,並使基於值的型別的程式碼更清晰、更直觀。
潛在的更廣泛語言演進,包括增強泛型。
Project Valhalla 的長期願景包括統一原始型別和類別,並引入專門化的泛型(例如,
List<int>),這將進一步改善型別系統的一致性和效能。⏳ 時間線
2014-07
Project Valhalla 正式啟動,旨在為 Java 10 及更高版本開發新的語言功能。
2020-08
JEP 401: 值類別與物件 (預覽) 草案發布,概述了值物件的引入。
2021-12
發布「Valhalla 狀態:第一部分」文件,概述了專案的階段性目標。
2025-10
發布完全實作 JEP 401 (預覽) 的早期存取 JDK 版本,鼓勵開發人員進行實驗。
2026-03
發布包含錯誤修復和增強功能的新值類別和物件早期存取版本。
2026-07
JEP 401 確認將整合到 OpenJDK 主線,目標是 JDK 28。
📎 來源 (13)
Factual claims are grounded in the sources below. Forward-looking analysis is AI-generated interpretation.
📰
AI 週報
閱讀本週精選 AI 大事摘要 →
👉相關動態
AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: The Next Web (TNW) ↗
每週 AI 簡報
每週一封,可隨時退訂。
