下載JDK
安裝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"
測試JDK是否安裝成功
在配置好環(huán)境變量后,可以進(jìn)入cmd中檢查Java是否安裝正確渊鞋,檢查的命令為 java -version
-
JDK安裝成功
環(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為類庫路徑
CLASSPATH詳解
tools.jar
工具類庫(編譯和運(yùn)行等)徐钠,它跟我們程序中用到的基礎(chǔ)類庫沒有關(guān)系癌刽。我們注意到在Path中變量值bin目錄下的各個(gè)exe工具的大小都很小,一般都在27KB左右尝丐,這是因?yàn)樗鼈儗?shí)際上僅僅相當(dāng)于是一層代碼的包裝显拜,這些工具的實(shí)現(xiàn)所要用到的類庫都在tools.jar中,用壓縮軟件打開tools.jar爹袁,你會(huì)發(fā)現(xiàn)有很多文件是和bin目錄下的exe工具相對(duì)性的远荠。當(dāng)然,如果tools.jar的功能只有這些的話失息,那么我們根本不用把它加入到CLASSPATH變量中譬淳,因?yàn)閎in目錄下的工具自己可以完成對(duì)這些類庫的調(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)境類庫,主要是Swing包含友,這一點(diǎn)通過用壓縮軟件打開dt.jar也可以看到替裆。如果在開發(fā)時(shí)候沒有用到Swing包,那么可以不用將dt.jar添加到CLASSPATH變量中窘问。
CLASSPATH中的類庫是由Application ClassLoader或者我們自定義的類加載器來加載的辆童,這里當(dāng)然不能包括基礎(chǔ)類庫,如果包括基礎(chǔ)類庫的話惠赫,并用兩個(gè)不同的自定義類加載器去加載該基礎(chǔ)類把鉴,那它得到的該基礎(chǔ)類就不是唯一的了,這樣便不能保證Java類的安全性儿咱。基本類庫和擴(kuò)展類庫rt.jar
基本類庫是所有的 import java.* 開頭的類庭砍,在 %JAVA_HOME%\jre\lib 目錄下(如其中的 rt.jar、resource.jar )混埠,類加載機(jī)制提到怠缸,該目錄下的類會(huì)由 Bootstrap ClassLoader 自動(dòng)加載,并通過親委派模型保證了基礎(chǔ)類庫只會(huì)被Bootstrap ClassLoader加載钳宪,這也就保證了基礎(chǔ)類的唯一性揭北。-
擴(kuò)展類庫是所有的 import javax.* 開頭的類扳炬,在 %JAVA_HOME%\jre\lib\ext 目錄下,該目錄下的類是由Extension ClassLoader 自動(dòng)加載搔体,不需要我們指定恨樟。
rt.jar 默認(rèn)就在根ClassLoader的加載路徑里面,放在CLASSPATH也是多此一舉疚俱。