再別康橋賞析(再別康橋的詩(shī)詞鑒賞)
2023-05-18
更新時(shí)間:2023-05-14 18:05:23作者:未知
下載JDK
到Oracle官網(wǎng)下載JDK
如果不想去下載,關(guān)注我,私信回復(fù)“JDK”我發(fā)你
安裝JDK
安裝JDK時(shí),除了修改安裝目錄,其他的一路【下一步】,傻瓜式安裝。
注:當(dāng)提示安裝JRE時(shí),可以選擇不要安裝。因?yàn)镴DK已經(jīng)自帶了JRE。
安裝JDK
配置環(huán)境變量
單擊"計(jì)算機(jī)-屬性-高級(jí)系統(tǒng)設(shè)置",單擊"環(huán)境變量"。
新建->變量名"JAVA_HOME",變量值"C:\develop\Java\jdk1.8.0_191"(即JDK的安裝路徑)
編輯->變量名"Path",點(diǎn)擊"新建",然后輸入上"%JAVA_HOME%\bin",點(diǎn)擊"確定",再次點(diǎn)擊"新建",然后輸入上"%JAVA_HOME%\jre\bin",點(diǎn)擊確定。
新建->變量名"CLASSPATH",變量值".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar"
測(cè)試JDK是否安裝成功
在配置好環(huán)境變量后,可以進(jìn)入cmd中檢查Java是否安裝正確,檢查的命令為 java -version
JDK安裝成功
如果不想去下載,關(guān)注我,私信回復(fù)“JDK”我發(fā)你
環(huán)境變量詳解
JAVA_HOME
變量名:JAVA_HOME
變量值:C:\develop\Java\jdk1.8.0_191
用途:定義一個(gè)變量,供其他地方使用
Path
變量名:Path
變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
用途:讓系統(tǒng)在任何路徑下都可以識(shí)別java、javac、javap等命令
CLASSPATH
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
用途:告訴jvm要使用或執(zhí)行的class放在什么路徑上,便于JVM加載class文件,.;表示當(dāng)前路徑,tools.jar和dt.jar為類庫(kù)路徑
CLASSPATH詳解
tools.jar
工具類庫(kù)(編譯和運(yùn)行等),它跟我們程序中用到的基礎(chǔ)類庫(kù)沒(méi)有關(guān)系。我們注意到在Path中變量值bin目錄下的各個(gè)exe工具的大小都很小,一般都在27KB左右,這是因?yàn)樗鼈儗?shí)際上僅僅相當(dāng)于是一層代碼的包裝,這些工具的實(shí)現(xiàn)所要用到的類庫(kù)都在tools.jar中,用壓縮軟件打開tools.jar,你會(huì)發(fā)現(xiàn)有很多文件是和bin目錄下的exe工具相對(duì)性的。當(dāng)然,如果tools.jar的功能只有這些的話,那么我們根本不用把它加入到CLASSPATH變量中,因?yàn)閎in目錄下的工具自己可以完成對(duì)這些類庫(kù)的調(diào)用,因此tools.jar應(yīng)該還有其他的功能。在里面還可以看到有Applet和RMI等相關(guān)的文件,因此tools.jar應(yīng)該還是遠(yuǎn)程調(diào)用等必須的jar包。tools.jar的其他作用可以查看其他資料。
dt.jar
運(yùn)行環(huán)境類庫(kù),主要是Swing包,這一點(diǎn)通過(guò)用壓縮軟件打開dt.jar也可以看到。如果在開發(fā)時(shí)候沒(méi)有用到Swing包,那么可以不用將dt.jar添加到CLASSPATH變量中。
CLASSPATH中的類庫(kù)是由Application ClassLoader或者我們自定義的類加載器來(lái)加載的,這里當(dāng)然不能包括基礎(chǔ)類庫(kù),如果包括基礎(chǔ)類庫(kù)的話,并用兩個(gè)不同的自定義類加載器去加載該基礎(chǔ)類,那它得到的該基礎(chǔ)類就不是唯一的了,這樣便不能保證Java類的安全性。
基本類庫(kù)和擴(kuò)展類庫(kù)rt.jar
基本類庫(kù)是所有的 import java.* 開頭的類,在 %JAVA_HOME%\jre\lib 目錄下(如其中的 rt.jar、resource.jar ),類加載機(jī)制提到,該目錄下的類會(huì)由 Bootstrap ClassLoader 自動(dòng)加載,并通過(guò)親委派模型保證了基礎(chǔ)類庫(kù)只會(huì)被Bootstrap ClassLoader加載,這也就保證了基礎(chǔ)類的唯一性。
擴(kuò)展類庫(kù)是所有的 import javax.* 開頭的類,在 %JAVA_HOME%\jre\lib\ext 目錄下,該目錄下的類是由Extension ClassLoader 自動(dòng)加載,不需要我們指定。
rt.jar 默認(rèn)就在根ClassLoader的加載路徑里面,放在CLASSPATH也是多此一舉。