JDK 18 / Java 18 GA 釋出

2022-03-23 09:00:19

JDK 18 / Java 18 GA 釋出。JDK 18 是一個短期維護版本,將獲得六個月的支援。儘管如此,但它仍然可用於生產環境中。根據開發計劃,JDK 19 將於今年 9 月釋出,而下一個 LTS 版本 JDK 21 將於 2023 年 9 月釋出。

JDK 18 共包括 9 個 JEP,以及數百個較小的增強功能和一千多個錯誤修復。

400:
408:
413:
416:
417:
418:
419:
420:
421:

預設編碼為 UTF-8

將 UTF-8 指定為標準 Java API 的預設字元集。 通過此更改,依賴於預設字元集的 API 將在所有實現、作業系統、語言環境和設定中保持一致。

簡易 HTTP 伺服器

提供命令列工具來啟動一個僅提供靜態檔案的最小 Web 伺服器。沒有可用的 CGI 或類似 servlet 的功能。該工具可用於原型設計、臨時編碼和測試目的,尤其是在教育環境中。

Java API 檔案中的程式碼片段

為 JavaDoc 的 Standard Doclet 引入一個 @snippet 標籤,以簡化 API 檔案中的範例原始碼。

用方法控制程式碼(Method Handles)重新實現 Java 核心反射

在 java.lang.invoke 方法控制程式碼的基礎上重新實現 java.lang.reflect.Method、Constructor 和 Field。讓方法控制程式碼成為反射的底層機制將減少 java.lang.reflect 和 java.lang.invoke API 的維護和開發成本。

Vector API (第三次進行孵化)

引入一個 API 來表達在執行時能夠可靠編譯的向量計算,在支援的 CPU 架構上優化向量指令,從而實現優於標量計算的效能。

網際網路地址解析 SPI

定義一個用於主機名稱和地址解析的服務供給介面(SPI),以便 java.net.InetAddress 可以使用平臺內建解析器以外的解析器。

外部函數和記憶體 API(第二次進行孵化)

引入一個 API,通過它,Java 程式可以與 Java 執行時之外的程式碼和資料進行互操作。通過有效地呼叫外部函數,以及安全地存取外部記憶體,該 API 使 Java 程式能夠呼叫本地庫並處理本地資料,而沒有 JNI 的脆弱性和危險。

Switch 模式匹配(第二次進行預覽)

switch 表示式和語句的模式匹配,以及對模式語言的擴充套件來增強 Java 程式語言。將模式匹配擴充套件到 switch 中,允許針對一些模式測試表示式,這樣就可以簡明而安全地表達複雜的面向資料的查詢。這是 JDK 18 中的一個預覽的語言功能。

棄用 Finalization,以便在未來刪除

棄用 Finalization,以便在未來的版本中刪除它。目前 Finalization 仍然是預設啟用的,但可以禁用它以便進行早期測試。在之後的版本中,它將率先被預設禁用,並在未來的版本中將其徹底刪除。依賴於 Finalization 的庫和應用程式的維護者應該考慮遷移到其他資源管理技術,如 try-with-resources 語句。

更多詳情可檢視:

下載:

展開閱讀全文