Java SE Development Kit 18簡(jiǎn)稱(chēng)JDK18是Java開(kāi)發(fā)工具包,JDK18包含Java運(yùn)行環(huán)境、Java開(kāi)發(fā)套件和Java基礎(chǔ)類(lèi)庫(kù)源代碼。Java Runtime Environment(JRE)是運(yùn)行Java程序的運(yùn)行環(huán)境,不管是做Java開(kāi)發(fā)還是從事安卓開(kāi)發(fā),都必須在系統(tǒng)安裝JRE運(yùn)行環(huán)境。JAVA語(yǔ)言的貢獻(xiàn)力量是其他任何技術(shù)無(wú)可比擬的。注只需要Java運(yùn)行庫(kù),只需要安裝JRE即可。
JDK18新功能一覽:
JEP 400:指定 UTF-8 作為標(biāo)準(zhǔn) Java API 的默認(rèn)字符集。通過(guò)此更改,依賴(lài)于默認(rèn)字符集的 API 將在所有實(shí)現(xiàn)、操作系統(tǒng)、區(qū)域設(shè)置和配置中保持一致。
JEP 408:引入一個(gè)簡(jiǎn)單的 Web 服務(wù)器。提供一個(gè)命令行工具,來(lái)啟動(dòng)一個(gè)只提供靜態(tài)文件的最小網(wǎng)絡(luò)服務(wù)器,它沒(méi)有 CGI 或類(lèi)似 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ù)和開(kāi)發(fā)成本。
JEP 417:Vector API(第三孵化器)。引入一個(gè) API 來(lái)表達(dá)向量計(jì)算,這些計(jì)算在運(yùn)行時(shí)可以編譯為支持的 CPU 架構(gòu)上的最佳向量指令,從而實(shí)現(xiàn)優(yōu)于等效標(biāo)量計(jì)算的性能。
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 程序可以通過(guò)它與 Java 運(yùn)行時(shí)之外的代碼和數(shù)據(jù)進(jìn)行互操作。通過(guò)有效地調(diào)用外部函數(shù)(即 JVM 外的代碼),并安全地訪問(wèn)外部?jī)?nèi)存(即不由 JVM 管理的內(nèi)存),外部函數(shù)和內(nèi)存 API 使 Java 程序能夠調(diào)用本機(jī)庫(kù)并處理本機(jī)數(shù)據(jù),而不具有 JNI 的脆弱性和危險(xiǎn)。
JEP 420: switch 模式匹配表達(dá)式。使用 switch 表達(dá)式和語(yǔ)句的模式匹配以及對(duì)模式語(yǔ)言的擴(kuò)展來(lái)增強(qiáng) Java 編程語(yǔ)言。將模式匹配擴(kuò)展到 switch 允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有特定的操作,可以簡(jiǎn)潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢(xún)。
JEP 421:棄用 Finalization 功能。Java 1.0 中引入的 Finalization 旨在幫助避免資源泄漏問(wèn)題,然而這個(gè)功能存在延遲不可預(yù)測(cè)、行為不受約束,以及線程無(wú)法指定等缺陷,導(dǎo)致其安全性、性能、可靠性和可維護(hù)性方面都存在問(wèn)題,因此將其棄用,用戶(hù)可選擇遷移到其他資源管理技術(shù),例如try-with-resources 語(yǔ)句和清潔器。
JRE和JDK的區(qū)別?
如果在學(xué)習(xí)或從事Java開(kāi)發(fā)、編譯java程序,那么安裝JDK
如果僅需運(yùn)行java程序,只需要Java運(yùn)行庫(kù),那么安裝JRE
Java Development Kit(簡(jiǎn)稱(chēng)JDK)= Java開(kāi)發(fā)套件,Java開(kāi)發(fā)工具包,面向Java語(yǔ)言開(kāi)發(fā)者。
Java Runtime Environment(簡(jiǎn)稱(chēng)JRE)= Java運(yùn)行庫(kù),Java運(yùn)行環(huán)境,面向Java程序用戶(hù)們。
JDK:Java核心,含Java運(yùn)行環(huán)境(JRE)、編譯器(javac.exe)、開(kāi)發(fā)工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和Java工具類(lèi)庫(kù)(如tools.jar)源代碼等java語(yǔ)言編譯所需的工具包。
JRE:Java語(yǔ)言開(kāi)發(fā)的程序運(yùn)行所需要的運(yùn)行環(huán)境,包括JVM標(biāo)準(zhǔn)實(shí)現(xiàn)(java.exe等)及 Java核心類(lèi)庫(kù)(rt.jar等),它不包含開(kāi)發(fā)工具(編譯器、調(diào)試器等)
JAVA環(huán)境變量配置:
此電腦->右鍵->屬性->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量:
1、「用戶(hù)變量」和「系統(tǒng)變量」分別新建2條變量
變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
變量名:JAVA_HOME 變量值:C:\Program Files\Java\jdk1.8.0_311(安裝目錄版本號(hào)路徑)
2、「系統(tǒng)變量」雙擊->Path->編輯環(huán)境變量 -> 分別新建3條
%JAVA_HOME%\bin
C:\Program Files\Java\jdk1.8.0_311\bin
C:\Program Files\Java\jre1.8.0_311
# 檢查JDK環(huán)境配置命令:
CMD 輸入 java -version
JDK18更新日志:
2022年4月19日 Java SE 18.0.1 發(fā)行說(shuō)明
Java™ SE Development Kit 18.0.1 (JDK18.0.1)
JDK17將升級(jí)長(zhǎng)期支持 (LTS) 版本,在2024年9月前提供支持,JDK18將是個(gè)短期功能版只支持六個(gè)月。
2022年3月下旬,甲骨文公司為所有開(kāi)發(fā)人員和企業(yè)提供的Java 17 正式版,按照甲骨文重要安全補(bǔ)丁更新(CPU)時(shí)間表,JDK18將至少獲得兩次季度更新,據(jù)悉按照慣例 Java 19 正式版將于2022年9月發(fā)布。