Press Release

Oracle 正式推出 Java 24

新版本提供 24 個 JDK 增強功能建議,有助改進 Java 語言,提高開發人員的生產力

此平台的效能、穩定性和安全性的增強,有助企業加速業務成長

2025 年 JavaOne 大會將重點介紹支援 AI 與後量子加密的新功能

美國德克薩斯州奧斯汀—2025年03月18日
Java24

Oracle 宣布推出 Java 24,這是首屈一指的程式設計語言和開發平台的最新版本。Java 24 (Oracle JDK 24) 提供了諸多改進,以提升開發人員的生產力並推動創新。此外,平台的效能、穩定性和安全性等增強功能有助企業推動業務成長。在 2025 年 3 月 18 日至 20 日在加利福尼亞州紅木海岸舉行的 JavaOne 2025 大會上瞭解有關最新 Java 24 版本的更多資訊。

IDC 軟體開發研究副總裁 Arnal Dayaratna 表示:「隨著 Java 即將迎來 30  週年,這個平台持續擴充工具集,以支援開發人員不斷變化的需求,包括支援開發 AI 應用程式的功能。此次新版的廣泛功能將有助於提升開發人員的生產力,協助他們更快、更有效地為企業和客戶提供功能豐富的應用程式。Java 24 版本強調了 Java 在開發大規模企業級、關鍵任務應用程式方面的超強優勢。」

Oracle Java Platform 資深副總裁暨管理委員會 OpenJDK 主席 Georges Saab 表示:「過去 30 年來,Java 為開發人員提供了一個全方位平台來建置和部署涵蓋各種使用案例的應用程式。Java 24 版本新增了超過 20 項功能,涵蓋 Java 的每個層面,包括新的 AI 和後量子加密功能,為開發人員提供了打造創新、融合 AI 應用程式所需的工具。作為 Java 的守護者,我們很高興能與全球 Java 社群合作,透過我們穩定的六個月更新週期,持續推出一系列新功能。」

語言功能

  • JEP 488Primitive Types in Patterns, instanceof, and switch (第二次預覽版) — 通過使語言更加統一且更具表達能力,協助開發人員提高 Java 程式設計的生產力。此功能可移除開發人員在使用樣式比對、instanceof 與 switch 時遇到的與原始類型相關的限制,協助開發人員增強樣式比對。它還允許所有模式上下文中的原始類型樣式,並擴展 instanceof 和 switch 以使用所有原始類型。整合 AI 推論的應用程式開發人員將特別受益於原始類型的支援。
  • JEP 492Flexible Constructor Bodies (第三次預覽版) — 透過在建構子主體中引入兩個不同的 prologue 和 epilogue 階段,協助開發人員提高程式碼的可靠性。這樣一來,開發人員能夠更自然地將他們目前必須考慮的邏輯納入輔助靜態方法、輔助中介建構子或建構子引數中。此外,此功能保留了現有的保證,即子類別的建構子程式碼不會干擾超級類別的實例化,進而在覆寫方法時確保類別更加可靠。
  • JEP 494Module Import Declarations (預覽版) — 開發人員可以快速輕鬆地匯入由模組匯出的所有套裝軟體,無需將匯入代碼帶至模組中,從而提高工作效率。這讓所有開發人員能夠輕鬆地重複使用模組化程式庫,並協助初學者更輕鬆地使用第三方程式庫和基本 Java 類別,而不需要瞭解它們在套裝程式層次結構中的位置。此功能也有助於開發人員快速整合業務邏輯與原生 AI 推論、程式庫或服務呼叫。
  • JEP 495Simple Source Files Instance Main Methods (第四次預覽版) — 透過 Java 程式設計入門教程,學生無需瞭解為大型程式設計的語言功能也能編寫自己的第一個程式。因此,教育工作者可以逐步介紹概念,學生也可以為單一類別的程式編寫簡潔的宣告,並隨著個人技能的提升,無縫地擴展程式並使用更進階的功能。此外,經驗豐富的 Java 開發人員也能以簡潔且高效的方式編寫小程式,而不需要使用專為大型專案設計的工具。

 

程式庫

  • JEP 485Stream Gatherers — 透過增強 Stream API 來支援自訂的中介作業,讓串流管線能夠以現有內建的中介作業無法輕易達成的方式轉換數據,協助開發人員更有效率地讀取、寫入及維護 Java 程式碼。
  • JEP 484Class-File API — 透過提供標準的 API 來解析、生成和轉換 Java 類別檔案,並追蹤 Java Virtual Machine 規格所定義的類別檔案格式,協助開發人員提高生產力。
  • JEP 487Scoped Values (第四次預覽版)— 支援開發人員在執行緒內和執行緒之間共用不可變的數據,從而提高專案的易用性、可理解性、效能和穩健性。
  • JEP 489Vector API (第九次孵化) — 新推出的 API 可用來表示在運行時可靠地編譯為支援的 CPU 架構上的向量指令的向量運算,協助開發人員提高生產力,因此,開發人員可以實現優於等效標量運算的效能,這在 AI 推論和運算場景中經常被使用。
  • JEP 499Structured Concurrency (第四次預覽版) — 透過為結構化並行打造的新 API 簡化並行程式設計,協助開發人員改善多執行緒程式碼的可維護性、可靠性和可觀察性。透過將不同執行緒中執行的相關任務群組視為單一工作單位,結構化並行有助於減少因取消和關閉而產生的常見風險,例如執行緒洩漏和取消延遲。

 

安全程式庫

  • JEP 478Key Derivation Function API (預覽版) — 透過為傳輸中的數據提供加密安全,協助開發人員為未來的量子運算環境做好準備,從而提高機密性和通訊完整性。
  • JEP 496Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism — 透過提供量子抗性 Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) 的實作,幫助提升 Java 應用程式的安全性。此功能是邁向後量子準備的重要一步,並為 Java 平台未來提供後量子加密 (post-quantum crypto, PQC) 支援鋪路,因為金鑰封裝機制可利用公鑰加密技術在不安全的通訊管道中保護對稱金鑰。
  • JEP 497Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm — 透過提供量子抗性 Module-Lattice-Based Digital Signature Algorithm (ML-DSA) 的實作,協助提高 Java 應用程式的安全性。如同 JEP 496,此功能是邁向後量子準備的重要一步,並為 Java 平台未來提供後量子加密 (PQC) 支援鋪路,因為數位簽章用於檢測未經授權的數據修改並驗證簽署者的身分。ML-DSA 旨在防範未來的運算計算攻擊,並已由美國國家標準與技術研究所 (NIST) 在 FIPS 204 中進行標準化。

 

工具

  • JEP 493Linking Run-Time Images without JMODs透過啟用 jlink 工具,即使不使用 JDK 的 JMOD 文件也能建立自訂運行時映像,協助開發人員提高效率,這可以將 JDK 的大小減少約 25%。因此,開發人員可以從模組連結運行時映像,無論這些模組是獨立的 JMOD 檔案、模組化 JAR 檔案,還是先前已連結的運行時映像的一部分。此功能必須在建置 JDK 時啟用;不會被預設為啟用,一些 JDK 供應商可能會選擇不啟用。

 

效能與執行時期更新

  • JEP 450Compact Object Headers (實驗性) — 在 64 位元架構中,透過將 HotSpot JVM 中物件標頭大小從 96 到 128 位元減少到 64 位元,協助開發人員提高生產力。這有助於減少堆集大小,以及提高部署密度及數據區域性。
  • JEP 475Late Barrier Extension for G1 — 透過將 G1 垃圾回收器的邊界擴展,從 C2 JIT 編譯管道的早期階段延後到後期,協助開發人員提高效率。這樣一來,若在平台無關的最佳化和註冊分配之後執行,則可減少開銷。透過簡化 G1 垃圾回收器邊界的實作,此功能有助於提升 C2 生成代碼的效率、可理解性、韌性及品質。
  • JEP 483Ahead-of-Time Class Loading & Linking當 HotSpot Java 虛擬機啟動時,確保應用程式的類別在載入和連結狀態下立即可用,從而協助開發人員提高工作效率並縮短啟動時間。此功能不需要使用 jlink 或 jpackage 工具,也不需要改變應用程式的啟動方式或應用程式、程式庫或框架的程式碼,有助於為未來在啟動和預熱時間上的持續改進奠定基礎。
  • JEP 490ZGC: Remove the Non-Generational Mode — 藉由移除 Z Garbage Collector (Z Garbage Collector, ZGC) 的非世代模式,協助開發者降低支援兩種不同模式的維護成本。
  • JEP 491Synchronize Virtual Threads without Pinning — 透過擴展使用同步方法和語句的 Java 程式碼和程式庫的可擴展性,協助開發人員提高生產力。此功能透過啟用虛擬線程釋放其底層平台線程,讓開發人員可以存取更多虛擬線程來管理應用程式的工作負載。

 

原始程式碼

  • JEP 404Generational Shenandoah (實驗性) — 透過實驗性世代收集功能增強 Shenandoah 垃圾回收器,提高可持續吞吐量、負載峰值彈性和記憶體使用率,從而提高開發人員的生產力。
  • JEP 479Remove the Windows 32-bit x86 Port — 透過移除原始程式碼並建立對 Windows 32 位元 x86 連接埠的支援,簡化 JDK 的建置和測試基礎架構,協助開發人員提高效率。
  • JEP 501Deprecate the 32-bit x86 Port for Removal — 透過棄用 32 位 x86 連接埠,並計畫在未來版本中移除,協助提高開發人員的生產力。這樣一來,開發人員可以使用需要特定平台支援的新功能,而無需實作 32 位 x86 的後援機制。

 

此外,透過引入現代的安全功能,同時逐步棄用和移除不安全的功能,Oracle 強調了其對維護 Java 完整性並與軟體開發最佳實務保持一致的承諾。Oracle 將在未來的 Java 版本中移除這三個功能:JEP 472: Prepare to Restrict the Use of JNI;JEP 486: Permanently Disable the Security Manager;JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe。

Java 24 的功能是 Oracle 與全球 Java 開發人員社群成員在 OpenJDK 和 Java Community Process (JCP) 合作的成果。如需 Java 24 功能的詳細資訊,請參閱 Java 24 技術部落格文章

透過雲端創新,支援全球 Java 社群
當 Java 部署於 Oracle Cloud Infrastructure (OCI) 上時,不僅能夠帶來更多創新、卓越的效能和更高的效率,還能成本節省,而 OCI 是首批支援 Java 24 的超大規模雲端之一。透過在 OCI 上免費提供 Oracle Java SE、Oracle GraalVM 和 Java SE Subscription Enterprise Performance Pack,Java 24 協助開發人員建置和部署速度更快、更優秀且具有高成本效益的應用程式。

Oracle Java Universal SE Subscription 為客戶提供有力支援。該產品包括 Java SE Subscription Enterprise Performance Pack、對整個 Java 產品組合的支援、Oracle GraalVM 授權、Java Management Service 進階功能,以及依業務進度進行升級的彈性。這有助 IT 組織管理複雜性、降低安全性風險,並控制成本。

支持證言

NYJavaSIG 主席 Frank Greco 表示:「我期待 Java 24 中的 Java Vector API 得到進一步完善,以提升預測性和生成式 AI 應用程式效能。直接在 Java 中啟用高效的 AI 演算法,有助於確保 AI 應用程式能在各種現代硬體平台上保持高效能與可擴展性。」

XDEV Software GmbH 執行長 Richard Fichtner 表示:「Java 24 引入了 Stream Gatherers,這是一項強大的增強功能,讓開發人員能夠對流中元素的分組和處理方式進行更細微地控制。從而讓複雜的數據轉換變得更具表達性且更有效率。我喜歡這個功能,因為它消除了像自訂收集器或 flatMap 的繞道方式,讓流管道更具可讀性且易於維護。」

Agile Developer, Inc. 創辦人 Venkat Subramaniam 博士表示:「Java 就像由出色的大廚所製作的醬料,食材經過精心挑選,慢火熬煮到恰到好處,才能展現出最佳風味。我目前最喜歡的『風味』是 Stream Gatherers API、Scoped Values 和 Structured Concurrency。」

開發人員 Jeanne Boyarsky CodeRanch 表示:「Java 24 中彈性建構子的第三次預覽版是一個值得注意的功能,因為它能讓我不必創建私有輔助方法,就能夠對 this/super 進行單行調用。Stream Gatherers 功能也很吸引人,我期待各大程式庫能推出更多新的中介操作來加以利用。」

JetBrains 的 Java 開發人員倡導者 Marit van Dijk 表示:「JetBrains 很高興從第一天起就在 IntelliJ IDEA 中提供 Java 24 支援。我們致力於與最新的 Java 增強功能保持同步,這有助於確保開發人員能夠順利採用這些有價值的新功能,同時在 IDE 中直接下載 Java 24 的功能,輕鬆完成設置。」

若要深入瞭解 Java 及其全球生態系統,請造訪:

  • Dev.java:學習 Java 的官方入口網站
  • Inside.java:Oracle Java 團隊成員的新聞和觀點
  • Java YouTube:官方 Java YouTube 入口網站,提供 Java 學習影片

 

其他資源

Contact Info

石佳

甲骨文公司
+86 (10) 65151491

關於 Oracle

Oracle 在 Oracle Cloud 中提供整合式應用程式套件以及安全的自主基礎架構。如需有關 Oracle (NYSE: ORCL) 的詳細資訊,請造www.oracle.com/hk

未來產品免責聲明

前述內容旨在概述我們大略的產品方向。該內容旨在提供資訊,不得納入任何合約中。其不承諾提供任何材料、程式碼或功能,且不應賴以做出購買決策。針對 Oracle 產品描述之任何功能的開發、發行、時間點及定價,Oracle Corporation 均保有視情況予以更改的權利。

商標

Oracle、Java、MySQL 和 NetSuite 是 Oracle Corporation 的註冊商標。