Java SE 26 和 OpenJDK 26 版本發布。一個將 JavaScript 和 Python 支援整合到 JVM 中的專案。

經過六個月的開發,Oracle 發布了 Java SE 26(Java 平台標準版 26),它以開源 OpenJDK 專案作為參考實作。除了移除一些已棄用的功能外,Java SE 26 保持了與 Java 平台先前版本的向後相容性——大多數先前編寫的 Java 專案在新版本下運行時無需任何修改。 Java SE 26(JDK、JRE 和 Server JRE)的即用型建置版本已準備就緒。 Linux (x86_64,AArch64), Windows (x86_64)和 macOS (x86_64, AArch64)。 Java SE 26 參考實作由 OpenJDK 專案開發,完全開源,採用 GPLv2 許可證,並帶有 GNU ClassPath 例外,允許與商業產品進行動態連結。

Java SE 26 被歸類為常規支援版本,其更新將持續發布直至下一個版本發布。長期支援 (LTS) 分支應為 Java SE 25、Java SE 21 或 Java SE 17,其更新將分別持續發佈至 2033 年、2031 年和 2029 年(通常可分別持續至 2030 年 9 月、2028 年 9 月和 2026 年 9 月)。 Java SE 8 LTS 分支的擴展支援將持續到 2030 年,Java SE 11 的擴展支援將持續到 2032 年。

Java SE 26(1、2、3、4)中的變更包括:

  • 使用深度反射修改標記為「final」關鍵字的欄位時,會發出警告。未來的計劃包括預設禁用不安全的語言特性,以及(除其他事項外)使標記為 final 的欄位完全不可變,從而移除透過深度反射(反射 API)修改它們的變通方法。
  • 用於在瀏覽器中執行 Java 應用程式的 Applet API(java.applet.Applet*、javax.swing.JApplet)已移除。該 API 在 Java 瀏覽器外掛程式停止維護並於 2021 年被棄用後也隨之過時。
  • 現在已實現與任何垃圾回收器(包括 ZGC)配合使用預先快取 (AOT)。此項目變更支援使用通用的、與垃圾回收器無關的格式將快取的 Java 物件順序載入到記憶體中,而不是直接將特定的快取表示映射到記憶體。使用 AOT 快取可以縮短啟動時間並加快 HotSpot 虛擬機器的預熱速度。
  • HTTP 用戶端 API 已更新,支援 HTTP/3 協議,允許應用程式和程式庫透過 HTTP/3 存取伺服器,只需進行最少的程式碼變更。
  • 透過減少將應用程式執行緒與垃圾回收器執行緒同步所需的鎖,提高了 G1 垃圾回收器的效能。
  • 提出了使用 PEM(隱私增強郵件)格式對包含加密金鑰、憑證和憑證撤銷清單的物件進行編碼和解碼的 API 的第二個草案。
  • 結構化並發 API 第六版草案已發布供測試,該 API 透過將運行在不同執行緒上的多個任務視為一個單元,簡化了多執行緒應用程式的開發。
  • Lazy Constants API 的第二個預覽版已發布,用於處理包含不可變資料且在 JVM 中被視為常數的物件。該 API 會對這類物件套用類似於具有 `final` 關鍵字的欄位的效能最佳化。與 `final` 不同,新的 API 將常數值的建立與其初始化分離,確保一個值只能初始化一次,從而縮短程式啟動時間,並使先前僅在 JDK 內部程式碼中使用的常數折疊最佳化能夠在使用者程式碼中使用。 class Application { // 之前: // static final UserService USERS = new UserService(); // 現在: static final StableValue USERS = StableValue.of(); public static UserService users() { return USERS.orElseSet(UserService::new); } }
  • 模式匹配引擎引入了第四版草案,允許在所有模板類型、instanceof 運算子和 switch 程式碼區塊中使用基本類型(int、byte、char 和其他非物件基底類型)。 switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b …
  • 本文提出了向量 API 的第十一個測試實作。它提供了使用 x86_64 和 AArch64 處理器向量指令執行向量計算的函數,並允許對多個值進行同時操作(SIMD)。與 HotSpot JIT 編譯器對標量運算的自動向量化不同,新的 API 允許對平行資料處理的向量化進行明確控制。

Oracle 也宣布了「底特律計畫」(Project Detroit),該計畫將作為 OpenJDK 的一部分進行開發,旨在提高 Java、JavaScript 和 Python 之間的可移植性。該計劃的目標是將 V8 JavaScript 引擎和 CPython 解釋器整合到 JVM 進程中。 Oracle 先前曾開發過運行在 JVM 之上的 Nashorn JavaScript 引擎,但由於主要生態系統與 V8 引擎緊密相關,開發獨立的 JavaScript 實現難度較大,因此終止了該專案。

此外,我們很高興地宣布發布用於創建圖形使用者介面應用程式的 JavaFX 26 平台更新。同時,支援執行 JavaScript (Node.js)、Python、Ruby、R、任何 JVM 語言(Java、Scala、Clojure、Kotlin)以及可產生 LLVM 位元程式碼的語言(C、C++、Rust)應用程式的 GraalVM 26 通用虛擬機也預計在未來幾小時內發布。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster