簡(jiǎn)言:
?????? 以前在學(xué)校學(xué)習(xí)的時(shí)候安裝JDK從未深思過(guò),這次安裝jdk讓自己回顧一下基礎(chǔ)知識(shí),同時(shí)也思考一些其他問(wèn)題。有其他意見(jiàn)的童鞋請(qǐng)多多體諒,歡迎提出自己的見(jiàn)解,大家共同進(jìn)步學(xué)習(xí)!
第一步:下載jdk
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk下載
第二步:雙擊下載的jdk,并且分配安裝目錄(注:安裝jre的時(shí)候單獨(dú)新建文件夾)
2.1:創(chuàng)建安裝目錄(在E盤(pán)創(chuàng)建jdk1.8文件,在jdk1.8文件里再創(chuàng)建jre1.8用來(lái)存放jre的安裝),如圖1、圖2


第三步:安裝——雙擊解壓jdk.exe,如圖三

第四步:安裝——開(kāi)發(fā)工具,JRE,如圖四、圖五



第五步: 環(huán)境配置:JAVA_HOME、CLASSPATH、Path系統(tǒng)變量的配置(點(diǎn)擊右鍵計(jì)算機(jī)——點(diǎn)擊屬性——高級(jí)——環(huán)境變量 )
5.1:環(huán)境配置-JAVA_HOME,如圖八
新增系統(tǒng)變量名:JAVA_HOME
新增系統(tǒng)變量值:E:\jdk1.8

5.2:環(huán)境配置-CLASSPATH(注:如果該系統(tǒng)變量已存在,直接在已存在的變量值追加,不可刪除原來(lái)已存在的變量值),如圖九
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

5.3:環(huán)境配置-Path,如圖十
變量名:Path
變量值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

第六步:檢測(cè)安裝快捷鍵win+R——>輸入cmd——>輸java -version和javac,如圖十一,圖十二


得到圖十二的java版本和java結(jié)果表示安裝正確。
總結(jié)
1、JVM – java virtual machineJVM是java虛擬機(jī)實(shí)現(xiàn)跨平臺(tái)的最核心的部分,所有的java程序會(huì)首先被編譯為.class的類(lèi)文件,這種類(lèi)文件可以在虛擬機(jī)上執(zhí)行,也就是說(shuō)class并不直接與機(jī)器的操作系統(tǒng)相對(duì)應(yīng),而是經(jīng)過(guò)虛擬機(jī)間接與操作系統(tǒng)交互,由虛擬機(jī)將程序解釋給本地系統(tǒng)執(zhí)行。
2、JRE – java runtime environmentJRE是指java運(yùn)行環(huán)境。光有JVM還不能成class的執(zhí)行,因?yàn)樵诮忉宑lass的時(shí)候JVM需要調(diào)用解釋所需要的類(lèi)庫(kù)lib。在JDK的安裝目錄有個(gè)jre目錄,里面有兩個(gè)文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類(lèi)庫(kù),而jvm和lib和起來(lái)就稱(chēng)為jre。所以,在你寫(xiě)完java程序編譯成.class之后,你可以把這個(gè).class文件和jre一起打包發(fā)給朋友,這樣你的朋友就可以運(yùn)行你寫(xiě)程序了(jre里有運(yùn)行.class的java.exe)。
3、JDK – java development kitJDK是java開(kāi)發(fā)工具包,在目錄下面有六個(gè)文件夾、一個(gè)src類(lèi)庫(kù)源碼壓縮包、和其他幾個(gè)聲明文件。運(yùn)行java時(shí)起作用的是以下四個(gè)文件夾:bin、include、lib、 jre?,F(xiàn)在我們可以看出這樣一個(gè)關(guān)系,JDK包含JRE,而JRE包含JVM。bin:最主要的是編譯器(javac.exe)include:java和JVM交互用的頭文件lib;類(lèi)庫(kù)jre:java運(yùn)行環(huán)境(注意:這里的bin、lib文件夾和jre里的bin、lib是不同的)總的來(lái)說(shuō)JDK是用于java程序的開(kāi)發(fā),而jre則是只能運(yùn)行class而沒(méi)有編譯的功能。