JDK9(Java SE Development Kit 9)是一款java se開發(fā)工具包,它是速個(gè)java的核心,開發(fā)java程序必備的工具和基礎(chǔ)類源碼,開發(fā)JAVA必備的環(huán)境,小編這里附上64位官方安裝包,歡迎免費(fèi)下載。
安裝教程
1、先在東坡下載最新版的客戶端,運(yùn)行
2、選擇要安裝的功能,并選擇軟件存放的位置,記住這個(gè)位置,后面需要到這里看工具的套件。
3、正在安裝中。
4、需要安裝java,直接點(diǎn)下一步繼續(xù)
5、java安裝中
6、好了,安裝完成,點(diǎn)續(xù)步驟可以看api文檔。
7、在剛才的安裝文件夾中可以看到程序源碼。
新特性
JDK9的關(guān)鍵更改:
Java平臺(tái)模塊化系統(tǒng):引入了一種新的Java編程組件模塊,它是一個(gè)命名的、自描述的代碼和數(shù)據(jù)集合。
JDK9中的新工具:
1、JavaShell
2、添加更多的診斷命令
3、刪除啟動(dòng)時(shí)間JRE版本選擇
4、jlink:Java連接器
5、多版本兼容Jar
JDK9中新的安全性:
1、數(shù)據(jù)報(bào)傳輸層安全性(DTLS)
2、禁用sha-1證書
JDK9中核心庫的新內(nèi)容:
1、進(jìn)程API更新:新增ProcessHandle類,該類提供進(jìn)程的本地進(jìn)程ID、參數(shù)、命令、啟動(dòng)時(shí)間、累計(jì)CPU時(shí)間、用戶、父進(jìn)程和子進(jìn)程。這個(gè)類還可以監(jiān)控進(jìn)程的活力和破壞進(jìn)程。ProcessHandle。onExit方法,當(dāng)進(jìn)程退出時(shí),復(fù)雜未來類的異步機(jī)制可以執(zhí)行一個(gè)操作。
2、更多的并發(fā)更新:包括一個(gè)可互操作的發(fā)布-訂閱框架,以及對CompletableFutureAPI的增強(qiáng)。
3、便利的工廠方法對于Collections:用少量的元素創(chuàng)建集合和映射的實(shí)例更容易。在列表、設(shè)置和映射接口上的新靜態(tài)工廠方法使創(chuàng)建這些集合的不可變實(shí)例變得更加簡單例子:Set<String>alphabet=Set.of("a","b","c");
功能介紹
—最好玩的新功能當(dāng)屬jshell,有了它無疑讓JAVA再次領(lǐng)先其它編程語言和平臺(tái)10年以上!騎士繼續(xù)流行20年也完全沒有問題。因?yàn)樗虶raal+Truffle、Substrate VM開啟了無限可能!Java開發(fā)們們再也不用羨慕別的自帶REPL的語言了,不用為了試個(gè)Java功能而開個(gè)Groovy shell了 。
—最主要的大功能就是Jigsaw——Java模塊化了,有了它,自己定制/裁剪JDK變得更直接,而包沖突也會(huì)變得更容易發(fā)現(xiàn)和解決。
—作為JVM的JIT編譯器研發(fā),最關(guān)注的功能是JVMCI,有了它之后,第三方開發(fā)就可以更為方便的向HotSpot VM插入一些強(qiáng)大的插件,例如說可以從外部配置插入一個(gè)新的JIT編譯器。這樣,要在HotSpot VM上使用Graal編譯器就非常容易了,不必再專門用改造過的Graal VM。Oracle JDK 9計(jì)劃在未來的某個(gè)update版本里發(fā)布配套的AOT編譯器,而這個(gè)AOT編譯器正是基于Graal與JVMCI的。
—Oracle JDK 9 / OpenJDK 9把G1作為默認(rèn)GC選項(xiàng),如果要選用Parallel GC、CMS GC等別的GC的話則要顯式在命令行上指定。這對目前正在使用CMS GC的人來說多半沒什么影響,畢竟現(xiàn)在用CMS GC也要顯式配置-XX:+UseConcMarkSweepGC選項(xiàng)。而對目前因?yàn)橛媚J(rèn)GC而在用Parallel GC的人來說,這個(gè)新的默認(rèn)選項(xiàng)可能會(huì)有一定影響,值得測試一下。
檢查JDK環(huán)境是否配置成功命令:
CMD命令提示符輸入java-version
相關(guān)新聞
JDK9很少被采用的原因:
1.從JDK8或更早版本移動(dòng)應(yīng)用程序時(shí)發(fā)生的不兼容更改。盡管已經(jīng)從標(biāo)準(zhǔn)API中移除的六種方法不會(huì)影響到很多人,但類似于命令行選項(xiàng)數(shù)量將阻止JVM啟動(dòng)的問題,都將成為遷移障礙。
2.封裝內(nèi)部JDKAPI的效果。同樣,不會(huì)很多的開發(fā)人員會(huì)直接受此影響,即便有影響,大都是也間接的(大多數(shù)開發(fā)人員在開發(fā)應(yīng)用程序時(shí)使用第三方庫和框架)。有大量可以使用封裝的API的庫和框架。盡管有很多已經(jīng)測試并制定了特定的JDK9版本可用,但仍然還有沒這樣做的。
3.長期支持。最近發(fā)布了一個(gè)為期六個(gè)月的新JDK版本就意味著存在支持問題,開發(fā)人員在決定Java版本時(shí)需要牢記支持期。JDK8被歸類為所謂的長期支持(LTS)版本,而JDK9不是LTS版本,這意味著只有在2018年3月發(fā)布下一個(gè)版本之前才會(huì)有公開更新。
SimonRitte稱,他最近談到的大多數(shù)開發(fā)者都表示將繼續(xù)使用JDK8,直到發(fā)布下一個(gè)LTS。大家的共識(shí)似乎是JDK9和10將被用來找出計(jì)算如何在它來臨時(shí)轉(zhuǎn)移到JDK11。
Oracle的計(jì)劃將使LTS版本之間的轉(zhuǎn)換對開發(fā)人員來說更具挑戰(zhàn)性。問題是公共更新不會(huì)出現(xiàn)重疊。當(dāng)JDK11發(fā)布時(shí),它將包含可能會(huì)影響應(yīng)用程序兼容性的新功能。由于JDK8將不再有公開更新,因此新用戶面臨兩種選擇,要么支付商業(yè)支持合同,要么跳到下一個(gè)LTS版本上。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版