Windows系統(tǒng)下JDK1.8與JDK11版本切換超詳細(xì)教程
一、JDK生效原理
想必大家都在為如何流暢的切換JDK版本問(wèn)題而來(lái),那么在此篇文章開(kāi)始之前,首先我們來(lái)思考一下這樣一個(gè)問(wèn)題:系統(tǒng)是如何使得我們安裝的JDK生效的?
聰明的你一定想到了,是的,要想使得我們安裝的JDK生效,我們需要配置它的環(huán)境變量,讓系統(tǒng)知道我們已經(jīng)安裝了JDK并且已經(jīng)可以使用。
我們大家一般配置環(huán)境變量都是先新建一個(gè)系統(tǒng)變量JAVA_HOME,而JAVA_HOME所表示的路徑為我們安裝jdk的路徑(不包含bin目錄)即:

之后我們會(huì)在Path系統(tǒng)變量中新建環(huán)境變量%JAVA_HOME%\bin即:

那么這些環(huán)境變量和JDK生效有什么關(guān)系呢?我們來(lái)看bin目錄下到底有什么內(nèi)容:
jdk的bin目錄:我們看到了熟悉的字眼,沒(méi)錯(cuò),就是java和javac命令,它們就是我們每次配置完JDK驗(yàn)證JDK成功的命令,其中javac命令還可以使我們編寫(xiě)的Java文件編譯成字節(jié)碼文件(.class文件)

jdk自帶的jre的bin目錄:

那么計(jì)算機(jī)如何才能準(zhǔn)確的調(diào)用這些命令呢?當(dāng)然是通過(guò)Path環(huán)境變量來(lái)進(jìn)行查找,Path環(huán)境變量的值是一系列路徑,Windows操作系統(tǒng)將在此一系列路徑中查找命令,若能找到則可執(zhí)行這些命令,即可以說(shuō)Windows是通過(guò)JAVA_HOME來(lái)找到JDK和JRE的,并且當(dāng)前JDK8以及JDK8之后已經(jīng)集成了JRE,因此我們?cè)谂渲肑RE時(shí)無(wú)需再配置CLASSPATH以及配置%JAVA_HOME%\jre\bin環(huán)境變量。
那說(shuō)了這么多,這些和JDK版本的切換有什么關(guān)系呢?接下來(lái)我們用圖來(lái)表示。

我們當(dāng)前有一個(gè)Java文件,若當(dāng)前它使用的是JDK8編譯的,而我們想要使用JDK11來(lái)編譯它,怎么辦呢,最簡(jiǎn)單的方法就是將JAVA_HOME的內(nèi)容改為JDK11,具體操作如下:
二、安裝配置JDK11
筆者現(xiàn)在安裝一個(gè)JDK11(筆者已經(jīng)安裝有JDK8)
點(diǎn)擊下一步

配置好路徑后,點(diǎn)擊下一步

等待安裝

點(diǎn)擊關(guān)閉

安裝成功后,筆者的所有JDK文件如下圖所示:

點(diǎn)擊進(jìn)入jdk-11中,我們看到JDK11已經(jīng)完全集成了JRE,已經(jīng)完全看不到JRE的身影

三、切換JDK11版本
若我們想要切換JDK11版本,我們需要修改JAVA_HOME的JDK路徑,具體步驟如下圖所示:
修改JAVA_HOME的JDK路徑為JDK11的路徑:

四、查看切換JDK11版本是否成功
之后,我們查看JDK版本是否切換成功:輸入java -version命令查看JDK版本
java -version

我們發(fā)現(xiàn)JDK11版本已經(jīng)切換成功?。?!
五、再次切換至JDK8版本
根據(jù)以上步驟,我們需要修改JAVA_HOME的JDK路徑,具體步驟如下圖所示:
修改JAVA_HOME的JDK路徑為JDK8的路徑:

六、查看切換JDK8版本是否成功
之后全部保存后,我們查看JDK版本是否切換成功:輸入java -version命令查看JDK版本
java -version

我們發(fā)現(xiàn),JDK的版本并沒(méi)有被切換回來(lái)?。?!
原因:這是為什么呢?這是因?yàn)楫?dāng)我們安裝并配置好JDK11之后它會(huì)自動(dòng)生成一個(gè)環(huán)境變量(此變量我們看不到),此環(huán)境變量?jī)?yōu)先級(jí)較高,導(dǎo)致我們?cè)谇袚Q回JDK8后系統(tǒng)會(huì)先讀取到JDK11生成的環(huán)境變量,而不會(huì)讀取到JDK8的環(huán)境變量。
解決辦法:我們需要將%JAVA_HOME%\bin上移至環(huán)境變量最高處(賦予它最高的優(yōu)先級(jí))

之后,我們?cè)俅尾榭碕DK版本是否切換成功:輸入java -version命令查看JDK版本

我們看到已然切換成功?。。?/p>
總結(jié)
到此這篇關(guān)于Windows系統(tǒng)下JDK1.8與JDK11版本切換的文章就介紹到這了,更多相關(guān)JDK1.8與JDK11版本切換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于@RequestBody注解只能注入對(duì)象和map的解決
這篇文章主要介紹了@RequestBody注解只能注入對(duì)象和map的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Spring實(shí)戰(zhàn)之緩存使用condition操作示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之緩存使用condition操作,結(jié)合實(shí)例形式分析了Spring緩存使用condition具體配置、屬性、領(lǐng)域模型等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-01-01
SpringBoot+Thymeleaf實(shí)現(xiàn)生成PDF文檔
Thymeleaf是一個(gè)現(xiàn)代的服務(wù)器端?Java?模板引擎,適用于?Web?和獨(dú)立環(huán)境。Thymeleaf?的主要目標(biāo)是為您的開(kāi)發(fā)工作流程帶來(lái)優(yōu)雅的自然模板,本文就來(lái)用它實(shí)現(xiàn)生成PDF,感興趣的可以了解一下2022-09-09
Java List移除相應(yīng)元素的超簡(jiǎn)潔寫(xiě)法分享
這篇文章主要介紹了Java List移除相應(yīng)元素的超簡(jiǎn)潔寫(xiě)法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11

