1. 程式人生 > 其它 >Java 18 要來了,你不會還在用Java 8吧?

Java 18 要來了,你不會還在用Java 8吧?

Java 開發工具包 (JDK) 18 將於 2022 年 3 月 22 日釋出。新版本的標準 Java 將有九個新特性,該特性集已於 12 月 9 日凍結,進入 Rampdown 第一階段。

值得注意的是:

JDK 17 是一個長期支援 (LTS) 版本,將獲得 Oracle 至少八年的支援,但 JDK 18 將是一個短期功能版本,只支援六個月。

可以在 java.net(https://jdk.java.net/18/) 上找到適用於 Linux、Windows 和 MacOS 的 JDK 18 的嚐鮮版本。

JDK 18 新功能一覽:

  • JEP 400:指定 UTF-8 作為標準 Java API 的預設字符集。通過此更改,依賴於預設字符集的 API 將在所有實現、作業系統、區域設定和配置中保持一致。

  • JEP 408:引入一個簡單的 Web 伺服器。提供一個命令列工具,來啟動一個只提供靜態檔案的最小網路伺服器,它沒有 CGI 或類似 servlet 的功能可用。該工具用於原型設計、臨時編碼和測試目的,尤其是在教學環境中。

  • JEP 413:支援在 Java API 文件中加入程式碼片段。為 JavaDoc 的 Standard Doclet 引入一個 @snippet 標記,以簡化 API 文件中嵌入示例原始碼的難度。

  • JEP 416 :用方法控制代碼重新實現核心反射。在 java.lang.invoke 的方法控制代碼之上,重構 java.lang.reflect 的方法、建構函式和欄位,使用方法控制代碼處理反射的底層機制將減少 java.lang.reflect 和 java.lang.invoke 兩者的 API 維護和開發成本。

  • JEP 417:Vector API(第三孵化器)。引入一個 API 來表達向量計算,這些計算在執行時可以編譯為支援的 CPU 架構上的最佳向量指令,從而實現優於等效標量計算的效能。

  • JEP 418:網際網路地址解析 SPI。定義用於主機名和地址解析的服務提供者介面 (SPI),以便java.net.InetAddress可以使用平臺內建解析器以外的解析器。

  • JEP 419:外部函式和記憶體 API(第二孵化器)。引入了一個新 API, Java 程式可以通過它與 Java 執行時之外的程式碼和資料進行互操作。通過有效地呼叫外部函式(即 JVM 外的程式碼),並安全地訪問外部記憶體(即不由 JVM 管理的記憶體),外部函式和記憶體 API 使 Java 程式能夠呼叫本機庫並處理本機資料,而不具有 JNI 的脆弱性和危險。

  • JEP 420:switch 模式匹配表示式。使用 switch 表示式和語句的模式匹配以及對模式語言的擴充套件來增強 Java 程式語言。將模式匹配擴充套件到 switch允許針對多個模式測試表達式,每個模式都有特定的操作,可以簡潔安全地表達複雜的面向資料的查詢。

  • JEP 421:棄用 Finalization 功能。Java 1.0 中引入的 Finalization 旨在幫助避免資源洩漏問題,然而這個功能存在延遲不可預測、行為不受約束,以及執行緒無法指定等缺陷,導致其安全性、效能、可靠性和可維護性方面都存在問題,因此將其棄用,使用者可選擇遷移到其他資源管理技術,例如try-with-resources 語句和清潔器。

  • 2022 年 1 月 20 日會進入 Rampdown 第二階段,初始和最終候選(RC)版本將分別於明年 2 月 10 日和 2 月 24 日釋出,穩定版 JDK 18 將在 2022 年 3 月 22 日釋出,可在 JDK 公告頁中檢視最新訊息。

JDK 公告頁

https://openjdk.java.net/projects/jdk/18/

PS:防止找不到本篇文章,可以收藏點贊,方便翻閱查詢哦