新聞稿

Oracle 正式發佈 Java 22

新版本提供 12 個 JDK 增強功能提案,有助於改進 Java 語言、提升開發平台的效能、穩定性和安全性

JavaOne 將於 2025 年重返美國舊金山灣區

美國德克薩斯州奧斯汀2024年3月19日
Java 22

Oracle 宣布推出 Java 22,這是備受歡迎的程式設計語言和開發平台的最新版本。Java 22 (Oracle JDK 22) 在效能、穩定性及安全性方面有諸多改進,涉及 Java 語言、其 API 與效能,以及 Java 開發套件 (JDK) 中包含的工具,可協助開發人員提高生產力、推動創新,以及加速企業的成長。

Oracle Java Platform 資深副總裁暨管理委員會 OpenJDK 主席 Georges Saab 表示:「Java 22 新增的增強功能讓更多開發人員能夠快速、輕鬆地建置及提供功能豐富、可擴展且安全的應用程式,以協助全球各地的企業拓展業務。這些增強功能可簡化應用程式開發,擴大 Java 的覆蓋範圍,並且可供所有技術程度的開發人員存取。Java 22 將協助企業和開發人員建立各種新的應用程式和服務。」 

全新的 JDK 提供了 12 個 JDK 增強功能提案 (JEP) 的更新和改進。JDK 22 將提供來自 OpenJDK Project Amber 的語言改進 (Statements before super[…]、Unnamed Variables & Patterns、String Templates 以及 Implicitly Declared Classes 和 Instance Main Methods);來自 Project Panama 的改進 (Foreign Function 以及 Memory API 和 Vector API);與 Project Loom 相關的功能 (Structured Concurrency 和 Scoped Values);核心程式庫和工具功能 (Class-File API、Launch Multi-File Source-Code Programs、Stream Gatherers) 以及效能更新 (Region Pinning for G1)。

IDC 軟體開發研究副總裁 Arnal Dayaratna 表示:「經過近30 年發展,Java 能夠支援各種使用案例的複雜開發工作,這讓該平台變得十分重要。Java 的多功能性和全方位工具集可支援大規模的生產級關鍵任務應用程式開發,因此成為生成式 AI 等創新使用案例的關鍵支援技術。」

Java 22 提供的重要更新包括:

 

Project Amber 功能

  • JEP 447:Statements before super(…) — 開發人員能夠藉此自由表達建構子的行為。透過允許未參照正在創建實例的敘述句出現在顯式建構子呼叫之前,此功能可以更自然地放置邏輯,而這些邏輯需要分解為輔助靜態方法、輔助中介建構子或建構子引數。此功能還將延續現有保證,建構子在類實例化期間以自上而下的順序執行,以確保子類別建構子中的程式碼不會干擾超級類別實例化。此外,此功能不需要對 Java Virtual Machine (JVM) 進行任何更改,並且僅依賴於 JVM 的目前功能來驗證和執行在建構子中顯式呼叫之前出現的代碼。
  • JEP 456:Unnamed Variables & Patterns — 使用未命名的變數和樣式來增強 Java 語言。當需要但從未使用變數宣告或巢狀樣式時,開發人員可以使用這些變數和樣式來提高生產力。這有助於減少出錯的機會,提升記錄樣式的可讀性,並改善程式碼的可維護性。
  • JEP 459:String Templates (第二次預覽版) — 讓開發人員輕鬆表達包含程式實際執行時計算之值的字串,簡化 Java 程式的開發,同時提高從使用者提供的值組成字串以及並將其傳遞給其他系統的程式的安全性。此外,該功能還增強了混合文字與表示式的可讀性,並且可以建立從文字與內嵌表示式計算的非字串值,而不需要透過中間字串表示法傳輸。
  • JEP 463:Implicitly Declared Classes and Instance Main Methods (第二次預覽版) — 透過 Java 程式設計入門教程,學生無需瞭解為大型程式而設計的語言功能,即可編寫第一個程式,加快了學習速度。藉助此功能,教育工作者可以逐步介紹概念,學生也可以為單一程式編寫簡化的宣告,並隨著個人技能的成長無縫擴展程式,以使用更進階的功能。

Project Loom 功能

  • JEP 462:Structured Concurrency (第二次預覽版) — 透過為結構化並行引入 API,協助開發人員簡化錯誤處理和取消作業。這有助於提升並行程式設計的樣式,消除因取消和關閉而產生的常見風險 (例如線程洩漏和取消延遲),並提升並行程式碼的可觀察性。
  • JEP 464:Scoped Values (第二次預覽版)— 支援開發人員在執行緒內和執行緒之間共用不可變的資料,從而提高專案的易用性、可理解性、效能和穩健性。

Project Panama 功能

  • JEP 454:Foreign Function & Memory API — 新推出的 API 讓 Java 程式更容易與 Java 程式實際執行之外與程式碼和資料互通,協助開發人員提高易用性、彈性、安全性和效能。透過有效地調用外部函數 (即 Java Virtual Machine [JVM] 外部的代碼) 以及安全地存取外部記憶體(即不受 JVM 管理的記憶體),這個新的 API 允許 Java 程式在無 Java Native Interface 的情況下調用原生程式庫並處理原生資料。
  • JEP 460:Vector API (第七次孵化) — 引入API 來表示向量運算,在運行時可靠地編譯為支援的 CPU 架構上的向量指令,讓開發人員能夠實現比等效純量運算更佳的效能。

核心程式庫與工具功能

  • JEP 457:Class-File API (預覽版) — 透過提供用於解析、產生和轉換 Java 類別檔案的標準 API,協助開發人員提高生產力。
  • JEP 458:Launch Multi-File Source-Code Programs — 開發人員可透過增強 Java 應用程式啟動器,選擇是否配置建置工具或何時配置建置工具,以執行作為多個 Java 原始程式碼檔案提供的程式。
  • JEP 461:Stream Gatherers (預覽版) — 透過增強 Stream API 來支援自訂的中介作業,讓串流管線能夠以比現有內建的中介作業更輕易的方式轉換資料,以協助開發人員提高生產力。藉由讓串流管線更具彈性且更具表現力,並允許自訂中介作業操控無限大小的串流,協助開發人員更有效率地讀取、寫入和維護 Java 程式碼。

效能更新

  • JEP 423:Region Pinning for G1 — 在原本需要暫停收集器的原生程式庫呼叫期間,允許進行某些資源回收,以減少延遲。對此,在原生程式庫呼叫期間,對需要禁止的物件以及僅「固定」包含這些物件的區域進行追蹤。如此一來,即使是在本來禁止原生程式庫呼叫的期間,未固定的區域也可以繼續正常進行資源回收。

Java 22 是 Oracle 與全球 Java 開發人員社群成員在 OpenJDK 和 Java Community Process (JCP) 的合作成果。除了新的增強功能和功能之外,Java 22 還獲得 Java Management Service (JMS) 的支援,這是 Oracle Cloud Infrastructure (OCI) 原生服務,可協助企業在管理內部部署或雲端的 Java 程式實際執行和應用程式時提供統一的主控台和儀表板。如需 Java 22 功能的詳細資訊,請參閱 Java 22 技術部落格文章

透過雲端創新,支援全球 Java 生態系統

OCI 是一個支援 Java 22 的超大規模雲端,當部署在 OCI 時,Java 不僅可以提供更高的效能和效率,還可以節省成本。透過在 OCI 上免費提供 Oracle Java SE、Oracle GraalVM 和 Java SE Subscription Enterprise Performance Pack,Java 22 協助開發人員建置和部署速度更快、更優秀且具有高成本效能的應用程式。

Oracle Java Universal SE Subscription 是隨用隨付方案,可為客戶提供有力支援。該產品提供對整個 Java 產品組合的支援、GraalVM 授權、Java SE Subscription Enterprise Performance Pack、Java Management Service 增強功能以及依業務計畫進行升級的彈性。此服務有助於 IT 組織管理複雜性、控製成本並降低安全風險。

JavaOne 將於2025年回歸

全球Java社群的旗艦活動 JavaOne將於 2025 年重返美國舊金山灣區。JavaOne 2025 將於 2025 年 3 月 17 日至 20 日在加利福尼亞州紅木海岸舉行,參會者將有機會瞭解Java 開發並與 Oracle 的 Java 專家和行業人士互動。欲瞭解更多資訊,請訪問Inside Java 博客文章。

 

TJC 社群負責人 Evren Tan 表示:「在 Türkiye Java Community (TJC) 的動態生態系統中,Oracle 的持續支援推動了我們的發展。隨著 Java 22 的推出,我們可以採用一系列現代化功能,進一步提高開發人員效率,增強我們對在土耳其推動 Java 技術發展的承諾。我們也歡迎全球的 Java 開發人員參加 TJC 的活動,讓 Java 社群保持活力,推動技術蓬勃發展。」

xHub 創辦人暨資訊長 Badr El Hourari 表示:「Java 作為熱門的程式設計語言、平台和開發人員社群,在摩洛哥和非洲地區持續發展。在 Java 22 中,我很高興看到 Oracle Java 團隊專注於創新,藉助 JEP 463 等增強功能協助新的開發人員更快地上手。對新一代程式設計人員來說,經過簡化的 Java 語言降低了門檻。此外,在摩洛哥,我們將在年度 Devoxx 摩洛哥大會上繼續強調 Java 的重要性,歡迎所有開發人員參加今年10月2-4日的活動,聽來自全球 Java 社群中最具影響力的專家分享真知灼見。」

JetBrains 的 Java 開發人員宣導者 Mala Gupta 表示:「Java 22 套裝功能讓我大感驚訝,該產品適用於所有人,從學生到資深開發人員,以及從冒險型 Java 愛好者到追求穩定效能的組織。Java 採用極簡主義方法,持續透過實例主要方法和隱式類別來簡化編寫初始程式碼的儀式,讓人們可以更輕鬆地開始學習 Java。透過改造建構子 (statements before super[…]),Java 再次證明其對負責任的創新的支持,在不破壞現有程式碼的情況下,放寬了自 Java 1.0 版本以來的語言限制,這讓人非常振奮。IntelliJ IDEA 2024.1 已準備好支援 Java 22 功能,讓 Java 開發人員可以輕鬆使用這些功能。」

Oracle 企業雲原生Java工程副總裁Tom Snyder表示:「在推出後不久,Helidon 團隊就意識到了虛擬執行緒的價值。藉助 Helidon 4,該團隊重新撰寫 Helidon Web 伺服器,以原生方式使用虛擬執行緒,進而提升效能及開發人員的生產力。現在有了 Java 22,我們看到虛擬執行緒再次實現效能提升,讓所有 Helidon 使用者都可以從這些重大改進中獲益。」

Oracle 產品管理總監 Kuassi Mensah 表示:「與Java 創新的無縫整合將幫助 Oracle Database提供世界上先進的資料庫技術,用於開發和運行現代應用程式。Oracle Java Database Connectivity (JDBC) 驅動程式已被重寫,可以無縫支援 Java 虛擬執行緒。 Java 虛擬線程與 Oracle Database 23c 中新的管道資料庫操作的結合有助於提高 Java 應用程式的端到端可擴展性。」

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

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

其他資源

傳媒查詢

關於 Oracle

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

商標

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