Java 18 都要來了,你不會(huì)還在用Java 8吧?
點(diǎn)擊上方“Java技術(shù)江湖”,選擇“設(shè)為星標(biāo)”
回復(fù)”666“獲取全網(wǎng)最熱的Java核心知識(shí)點(diǎn)整理
作者 | 羅奇奇
Java 開發(fā)工具包 (JDK) 18 將于 2022 年 3 月 22 日發(fā)布。新版本的標(biāo)準(zhǔn) Java 將有九個(gè)新特性,該特性集已于 12 月 9 日凍結(jié),進(jìn)入 Rampdown 第一階段。
值得注意的是:JDK 17 是一個(gè)長期支持 (LTS) 版本,將獲得 Oracle 至少八年的支持,但 JDK 18 將是一個(gè)短期功能版本,只支持六個(gè)月。可以在 java.net(https://jdk.java.net/18/) 上找到適用于 Linux、Windows 和 MacOS 的 JDK 18 的嘗鮮版本。
JDK 18 新功能一覽:
JEP 400:指定 UTF-8 作為標(biāo)準(zhǔn) Java API 的默認(rèn)字符集。通過此更改,依賴于默認(rèn)字符集的 API 將在所有實(shí)現(xiàn)、操作系統(tǒng)、區(qū)域設(shè)置和配置中保持一致。 JEP 408:引入一個(gè)簡(jiǎn)單的 Web 服務(wù)器。提供一個(gè)命令行工具,來啟動(dòng)一個(gè)只提供靜態(tài)文件的最小網(wǎng)絡(luò)服務(wù)器,它沒有 CGI 或類似 servlet 的功能可用。該工具用于原型設(shè)計(jì)、臨時(shí)編碼和測(cè)試目的,尤其是在教學(xué)環(huán)境中。 JEP 413:支持在 Java API 文檔中加入代碼片段。 為 JavaDoc 的 Standard Doclet 引入一個(gè) @snippet標(biāo)記,以簡(jiǎn)化 API 文檔中嵌入示例源代碼的難度。JEP 416 :用方法句柄重新實(shí)現(xiàn)核心反射。 在 java.lang.invoke的方法句柄之上,重構(gòu)java.lang.reflect的方法、構(gòu)造函數(shù)和字段,使用方法句柄處理反射的底層機(jī)制將減少 java.lang.reflect 和 java.lang.invoke 兩者的 API 維護(hù)和開發(fā)成本。JEP 417:Vector API(第三孵化器)。 引入一個(gè) API 來表達(dá)向量計(jì)算,這些計(jì)算在運(yùn)行時(shí)可以編譯為支持的 CPU 架構(gòu)上的最佳向量指令,從而實(shí)現(xiàn)優(yōu)于等效標(biāo)量計(jì)算的性能。 如果您正在學(xué)習(xí)Spring Boot,那么推薦一個(gè)連載多年還在繼續(xù)更新的免費(fèi)教程:http://blog.didispace.com/spring-boot-learning-2x/
JEP 418:互聯(lián)網(wǎng)地址解析 SPI。定義用于主機(jī)名和地址解析的服務(wù)提供者接口 (SPI),以便 java.net.InetAddress可以使用平臺(tái)內(nèi)置解析器以外的解析器。JEP 419:外部函數(shù)和內(nèi)存 API(第二孵化器)。 引入了一個(gè)新 API, Java 程序可以通過它與 Java 運(yùn)行時(shí)之外的代碼和數(shù)據(jù)進(jìn)行互操作。通過有效地調(diào)用外部函數(shù)(即 JVM 外的代碼),并安全地訪問外部內(nèi)存(即不由 JVM 管理的內(nèi)存),外部函數(shù)和內(nèi)存 API 使 Java 程序能夠調(diào)用本機(jī)庫并處理本機(jī)數(shù)據(jù),而不具有 JNI 的脆弱性和危險(xiǎn)。 JEP 420:switch 模式匹配表達(dá)式。 使用 switch表達(dá)式和語句的模式匹配以及對(duì)模式語言的擴(kuò)展來增強(qiáng) Java 編程語言。將模式匹配擴(kuò)展到switch允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有特定的操作,可以簡(jiǎn)潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢。JEP 421:棄用 Finalization 功能。Java 1.0 中引入的 Finalization 旨在幫助避免資源泄漏問題,然而這個(gè)功能存在延遲不可預(yù)測(cè)、行為不受約束,以及線程無法指定等缺陷,導(dǎo)致其安全性、性能、可靠性和可維護(hù)性方面都存在問題,因此將其棄用,用戶可選擇遷移到其他資源管理技術(shù),例如 try-with-resources 語句和清潔器。
2022 年 1 月 20 日會(huì)進(jìn)入 Rampdown 第二階段,初始和最終候選(RC)版本將分別于明年 2 月 10 日和 2 月 24 日發(fā)布,穩(wěn)定版 JDK 18 將在 2022 年 3 月 22 日發(fā)布,可在 JDK 公告頁中查看最新消息。
JDK 公告頁:https://openjdk.java.net/projects/jdk/18/
加入我們的高質(zhì)量技術(shù)交流群:與優(yōu)秀的人在一起,自己也會(huì)優(yōu)秀起來!
你現(xiàn)在在用 Java 的哪個(gè)版本呢?評(píng)論區(qū)等你!
關(guān)注公眾號(hào)【Java技術(shù)江湖】后回復(fù)“PDF”即可領(lǐng)取200+頁的《Java工程師面試指南》
強(qiáng)烈推薦,幾乎涵蓋所有Java工程師必知必會(huì)的知識(shí)點(diǎn),不管是復(fù)習(xí)還是面試,都很實(shí)用。

