JDK是 Java 語(yǔ)言的軟件開(kāi)發(fā)工具包,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。JDK是整個(gè)java開(kāi)發(fā)的核心,它包含了JAVA的運(yùn)行環(huán)境(JVM+Java系統(tǒng)類(lèi)庫(kù))和JAVA工具。jdk10.0.1這個(gè)版本的jdk已經(jīng)適用于大部分的編程環(huán)境,作為編程人員必須的環(huán)境,支持多個(gè)ide,最為標(biāo)準(zhǔn)的開(kāi)發(fā)模式,讓你可以更加方便的體驗(yàn)到開(kāi)發(fā)軟件的便捷之處!
JDK 10 新特色
1.局部變量類(lèi)型推斷
局部變量類(lèi)型推斷可以說(shuō)是Java 10中最值得注意的特性,這是Java語(yǔ)言開(kāi)發(fā)人員為了簡(jiǎn)化Java應(yīng)用程序的編寫(xiě)而采取的又一步,如下圖所示。
這個(gè)新功能將為Java增加一些語(yǔ)法糖 – 簡(jiǎn)化它并改善開(kāi)發(fā)者體驗(yàn)。新的語(yǔ)法將減少與編寫(xiě)Java相關(guān)的冗長(zhǎng)度,同時(shí)保持對(duì)靜態(tài)類(lèi)型安全性的承諾。局部變量類(lèi)型推斷將引入”var”關(guān)鍵字,也就是你可以隨意定義變量而不必指定變量的類(lèi)型,如下圖:將被下面這個(gè)新語(yǔ)法所取代:
看完是不是有點(diǎn)JS的即視感???越來(lái)越像JS了嗎?!雖然類(lèi)型推斷在Java中不是一個(gè)新概念,但在局部變量中確是很大的一個(gè)改進(jìn)。
說(shuō)到類(lèi)型推斷,從JDK 5引進(jìn)泛型,到JDK 7的”<>”操作符允許不綁定類(lèi)型而初始化List,再到JDK 8的Lambda表達(dá)式,再到現(xiàn)在JDK 10的局部變量類(lèi)型推斷,Java類(lèi)型推斷正大刀闊斧的向前發(fā)展。
2. GC改進(jìn)和內(nèi)存管理
JDK 10中有2個(gè)JEP專(zhuān)門(mén)用于改進(jìn)當(dāng)前的垃圾收集元素。
第一個(gè)垃圾收集器接口是(JEP 304),它將引入一個(gè)純凈的垃圾收集器接口,以幫助改進(jìn)不同垃圾收集器的源代碼隔離。
預(yù)定用于Java 10的第二個(gè)JEP是針對(duì)G1的并行完全GC(JEP 307),其重點(diǎn)在于通過(guò)完全GC并行來(lái)改善G1最壞情況的等待時(shí)間。G1是Java 9中的默認(rèn)GC,并且此JEP的目標(biāo)是使G1平行。
3. 線程本地握手(JEP 312)
JDK 10將引入一種在線程上執(zhí)行回調(diào)的新方法,因此這將會(huì)很方便能停止單個(gè)線程而不是停止全部線程或者一個(gè)都不停。
4. 備用內(nèi)存設(shè)備上的堆分配(JEP 316)
允許HotSpot VM在備用內(nèi)存設(shè)備上分配Java對(duì)象堆內(nèi)存,該內(nèi)存設(shè)備將由用戶(hù)指定。
5. 其他Unicode語(yǔ)言 – 標(biāo)記擴(kuò)展(JEP 314)
目標(biāo)是增強(qiáng)java.util.Locale及其相關(guān)的API,以便實(shí)現(xiàn)語(yǔ)言標(biāo)記語(yǔ)法的其他Unicode擴(kuò)展(BCP 47)。
6. 基于Java的實(shí)驗(yàn)性JIT編譯器
Oracle希望將其Java JIT編譯器Graal用作Linux / x64平臺(tái)上的實(shí)驗(yàn)性JIT編譯器。
7. 根證書(shū)(JEP 319)
這個(gè)的目標(biāo)是在Oracle的Java SE中開(kāi)源根證書(shū)。
8. 根證書(shū)頒發(fā)認(rèn)證(CA)
這將使OpenJDK對(duì)開(kāi)發(fā)人員更具吸引力,它還旨在減少OpenJDK和Oracle JDK構(gòu)建之間的差異。
9. 將JDK生態(tài)整合單個(gè)存儲(chǔ)庫(kù)(JEP 296)
此JEP的主要目標(biāo)是執(zhí)行一些內(nèi)存管理,并將JDK生態(tài)的眾多存儲(chǔ)庫(kù)組合到一個(gè)存儲(chǔ)庫(kù)中。
10. 刪除工具javah(JEP 313)
從JDK中移除了javah工具,這個(gè)很簡(jiǎn)單并且很重要。
jdk10 安裝教程
點(diǎn)擊安裝包安裝,需要注意的是,選擇安裝目錄,不要選到C盤(pán)。推薦使用像我這種目錄風(fēng)格,比如D:\JDK\10,以便多JDK共存。
同時(shí)取消勾選JRE安裝,因?yàn)镴DK從來(lái)都是包含JRE的,一般沒(méi)有必要再獨(dú)立安裝一個(gè)JRE浪費(fèi)硬盤(pán)。
配置環(huán)境變量
進(jìn)入電腦的系統(tǒng)環(huán)境變量設(shè)置頁(yè)面,win10系統(tǒng)直接在左下角搜索"環(huán)境變量"即可
在系統(tǒng)環(huán)境變量中新建一個(gè)JAVA_HOME環(huán)境變量,目錄選擇JDK10的安裝目錄如
D:\JDK\10
保存
在Path變量中,增加一個(gè)
%JAVA_HOME%\bin
變量,記得讓這個(gè)變量處于第一個(gè)位置,這樣可以讓它優(yōu)先級(jí)最高,防止安裝在C盤(pán)的其它JRE和它沖突。
進(jìn)入cmd命令提示符,win10系統(tǒng)可以在左下角搜索cmd,回車(chē)進(jìn)入。
輸入
java -version
可以查看當(dāng)前JAVA版本
輸入
where java
可以查看java命令來(lái)源的目錄,如果配置正確的話(huà),JDK10的安裝目錄,應(yīng)該是第一行輸出。我這里第二個(gè)是C盤(pán)安裝了一個(gè)JRE。如果在PATH變量中,
%JAVA_HOME%\bin
的位置在最后了,可能就會(huì)被這個(gè)JRE覆蓋,導(dǎo)致輸出版本不是自己預(yù)期的。