設置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

Java 24 正式發(fā)布

2025/3/19 11:37:23 來源:IT之家 作者:汪淼 責編:汪淼
感謝IT之家網(wǎng)友 有鯽雪狐 的線索投遞!

IT之家 3 月 19 日消息,Oracle 官宣正式發(fā)布 Java 24,這是 Java 編程語言和開發(fā)平臺推出的全新版本。

Java 24(Oracle JDK 24)提供了數(shù)千項改進,擁有 20 多項涵蓋了 Java 方方面面的新功能,包括新的 AI 和后量子密碼功能,為開發(fā)人員提供了構建 AI 應用所需的工具。

Oracle 會在 3 月 18 日至 20 日在美國加利福尼亞州紅木海岸舉辦的 JavaOne 2025 會議公布關于 Java 24 的更多信息。

語言特性

JEP 488:Primitive Types in Patterns, instanceof, and switch(第二預覽版)— 通過使語言更加統(tǒng)一且更具表達能力,幫助開發(fā)人員提高 Java 編程的工作效率。此功能可幫助開發(fā)人員消除他們在使用模式匹配、instanceof 和 switch 時遇到的基元類型的限制,從而增強模式匹配。該功能還在所有模式上下文中支持基元類型模式,并擴展 instanceof 和 switch,使其能夠與所有基元類型一起使用。集成 AI 推理的應用開發(fā)人員將能夠從原始類型的支持中大大受益。

JEP 492:Flexible Constructor Bodies(第三預覽版)— 在構造函數(shù)主體中引入兩個不同的序言和表述階段,幫助開發(fā)人員提高代碼的可靠性。開發(fā)人員能夠更自然地將他們當前必須考慮的邏輯融入輔助靜態(tài)方法、輔助中間構造函數(shù)或構造函數(shù)參數(shù)中。此外,該功能還保留了現(xiàn)有的保證,即子類構造函數(shù)中的代碼不能干擾超類實例化,能夠在重寫方法時使類更加可靠。

JEP 494:Module Import Declarations(第二預覽版)— 開發(fā)人員可以輕松快速地導入由模塊導出的所有程序包,無需將導入代碼放到模塊中,從而提高工作效率。這簡化了所有開發(fā)人員對模塊化庫的重用,讓初學者能夠更輕松地使用第三方庫和基本 Java 類,無需了解它們在程序包層次結構中的位置。該功能還可以幫助開發(fā)人員快速將業(yè)務邏輯與原生 AI 推理、庫或服務調用集成在一起。

JEP 495:Simple Source Files and Instance Main Methods(第四預覽版)— 幫助學生無需了解為大型程序而設計的語言功能,即可順利編寫第一個程序,加快了上手 Java 編程的速度。有鑒于此,教育工作者和導師可以循序漸進地介紹概念,學生也可以編寫簡化的單類程序聲明,并隨著個人技能的提升,無縫擴展程序并使用更高級的功能。此外,經(jīng)驗豐富的 Java 開發(fā)人員也可以以簡潔而高效的方式編寫小程序,無需使用為大型項目設計的工具。

JEP 485:Stream Gatherers — 通過增強 Stream API 來支持自定義中間操作,讓流管道以現(xiàn)有內置中間操作無法輕松實現(xiàn)的方式轉換數(shù)據(jù),從而幫助開發(fā)人員提高閱讀、編寫和維護 Java 代碼的效率。

JEP 484:Class-File API — 通過提供用于解析、生成和轉換 Java 類文件的標準 API,以及跟蹤 Java Virtual Machine 規(guī)范定義的類文件格式,幫助開發(fā)人員提高工作效率。

JEP 487:Scoped Values(第四預覽版)— 支持開發(fā)人員在線程內和線程之間共享不可變數(shù)據(jù),從而提高項目的易用性、可理解性、性能和穩(wěn)健性。

JEP 489:Vector API (九次孵化階段)— 新推出的 API 允許以一種在運行時,可靠地編譯為支持的 CPU 架構上的向量指令方式表達向量計算,幫助開發(fā)人員提高生產(chǎn)力。因此,開發(fā)人員可以實現(xiàn)優(yōu)于等效標量計算的表現(xiàn),這些計算通常用于 AI 推理和計算場景。

JEP 499:Structured Concurrency(第四預覽版)— 通過面向結構化并發(fā)的新 API 簡化并發(fā)編程,幫助開發(fā)人員提高多線程代碼的可維護性、可靠性和可觀察性。通過將在不同線程中運行的相關任務組視為單個工作單元,結構化并發(fā)可以減少因取消和關閉而產(chǎn)生的常見風險,例如線程泄漏和取消延遲。

安全庫

JEP 478:Key Derivation Function API(預覽版)— 通過為傳輸中的數(shù)據(jù)提供加密安全,幫助開發(fā)人員為新興的量子計算環(huán)境做好準備。這有助于提高保密性和通信完整性。

JEP 496:Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism — 支持實施抗量子的基于模塊晶格的密鑰封裝機制 (ML-KEM),幫助提高 Java 應用的安全性。此功能是 Java 平臺朝著后量子就緒以及最終交付后量子加密 (PQC) 技術支持邁出的重要一步,因為密鑰封裝機制用于通過公鑰加密技術通過不安全的通信通道保護對稱密鑰。

JEP 497:Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm — 支持實施抗量子的基于模塊晶格的數(shù)字簽名算法 (ML-DSA),幫助提高 Java 應用的安全性。與 JEP 496 一樣,此功能是 Java 平臺邁向后量子就緒以及最終交付 PQC 技術支持的重要舉措,因為數(shù)字簽名主要用于檢測未經(jīng)授權的數(shù)據(jù)修改和驗證簽字人的身份。ML-DSA 旨在防止未來的量子計算攻擊,目前已被美國國家標準與技術研究所 (NIST) 列為 FIPS 204 中的標準化項目。

工具

JEP 493:Linking Run-Time Images without JMODs — jlink 工具無需使用 JDK 的 JMOD 文件,即可創(chuàng)建定制運行時映像,能夠將 JDK 的大小縮減約 25%,進而幫助開發(fā)人員提高效率。有鑒于此,開發(fā)人員可以從模塊鏈接運行時映像,無論這些模塊是獨立的 JMOD 文件、模塊化 JAR 文件還是以前鏈接的運行時映像的一部分。構建 JDK 時必須啟用此功能;此功能不會默認啟用,某些 JDK 供應商可以選擇不啟用此功能。

性能和運行時更新

JEP 450:Compact Object Headers(實驗版) — 在 64 位架構上,將 HotSpot JVM 中的對象標頭大小從 96 位和 128 位縮減至 64 位,幫助開發(fā)人員提高工作效率。這有助于減少堆大小、提高部署密度和增加數(shù)據(jù)局部性。

JEP 475:Late Barrier Extension for G1 — 通過將 G1 垃圾收集器屏障從早期的 C2 JIT 編譯管道擴展切換到后期屏障擴展,這意味著如果該項操作在獨立于平臺的優(yōu)化和寄存器分配之后發(fā)生,就可以降低開銷,還可以幫助開發(fā)人員提高效率。通過簡化 G1 垃圾收集器屏障的實施,此功能有助于提高 C2 生成的代碼的效率、可理解性、可恢復性和質量。

JEP 483:Ahead-of-Time Class Loading & Linking — 在 HotSpot Java Virtual Machine 啟動時,使應用的類在加載和鏈接狀態(tài)下立即可用,從而幫助開發(fā)人員提高工作效率并縮短啟動時間。此功能不需要使用 jlink 或 jpackage 工具,不需要對從命令行啟動應用的方式進行任何更改,也不需要對應用、庫或框架的代碼進行任何更改。因此,該功能有助于為啟動和預熱時間的持續(xù)進步奠定基礎。

JEP 490:ZGC: Remove the Non-Generational Mode — 通過刪除 Z Garbage Collector (ZGC) 的非分代模式,幫助開發(fā)人員降低支持兩種不同模式的維護成本。

JEP 491:Synchronize Virtual Threads without Pinning — 提高使用同步方法和語句的 Java 代碼和庫的可擴展性,幫助開發(fā)人員提高工作效率。該功能允許虛擬線程釋放其底層平臺線程,讓開發(fā)人員能夠訪問更多的虛擬線程來管理其應用的工作負載。

源代碼

JEP 404:Generational Shenandoah(實驗版) — 通過實驗性的分代收集功能增強 Shenandoah 垃圾收集器,以提高可持續(xù)吞吐量、負載峰值抵抗力和內存利用率,幫助開發(fā)人員提高工作效率。

JEP 479:Remove the Windows 32-bit x86 Port — 刪除對 Windows 32 位 x86 端口的源代碼和構建支持,簡化了 JDK 的構建和測試架構,幫助開發(fā)人員提高效率。

JEP 501:Deprecate the 32-bit x86 Port for Removal — 棄用 32 位 x86 端口,以便能夠在接下來的版本中刪除該端口,幫助開發(fā)人員提高工作效率。開發(fā)人員無需實施 32 位 x86 回退,即可訪問需要特定平臺支持的新功能。

此外,通過引入安全的現(xiàn)代化特性,同時逐漸棄用和刪除不安全的特性,Oracle 強調致力于保持 Java 的完整性并遵循軟件開發(fā)優(yōu)秀實踐。IT之家從公告獲悉,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。

廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。

相關文章

關鍵詞:編程語言,Java
  • 日榜
  • 周榜
  • 月榜

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應用 魔方 最會買 要知