詳情描述
Java 8 發(fā)布三年多之后,Java9終于更新,對于Java9的特性你了解多少?快隨千鋒小編來了解一下Java9的新特!
1. Java 平臺級模塊系統(tǒng)
Java 9 的定義功能是一套全新的模塊系統(tǒng)。當(dāng)代碼庫越來越大,創(chuàng)建復(fù)雜,盤根錯節(jié)的“意大利面條式代碼”的幾率呈指數(shù)級的增長。這時候就得面對兩個基礎(chǔ)的問題: 很難真正地對代碼進(jìn)行封裝, 而系統(tǒng)并沒有對不同部分(也就是 JAR 文件)之間的依賴關(guān)系有個明確的概念。每一個公共類都可以被類路徑之下任何其它的公共類所訪問到, 這樣就會導(dǎo)致無意中使用了并不想被公開訪問的 API。此外,類路徑本身也存在問題: 你怎么知曉所有需要的 JAR 都已經(jīng)有了, 或者是不是會有重復(fù)的項呢? 模塊系統(tǒng)把這倆個問題都給解決了。
模塊化的 JAR 文件都包含一個額外的模塊描述器。在這個模塊描述器中, 對其它模塊的依賴是通過 來表示的。另外, “exports” 語句控制著哪些包是可以被其它模塊訪問到的。所有不被導(dǎo)出的包默認(rèn)都封裝在模塊的里面。
當(dāng)你使用具有顯式依賴關(guān)系的模塊和模塊化的 JDK 時,新的可能性出現(xiàn)了。你的應(yīng)用程序模塊現(xiàn)在將聲明其對其他應(yīng)用程序模塊的依賴以及對其所使用的 JDK 模塊的依賴。為什么不使用這些信息創(chuàng)建一個較小的運(yùn)行時環(huán)境,其中只包含運(yùn)行應(yīng)用程序所需的那些模塊呢? 這可以通過 Java 9 中的新的 jlink 工具實現(xiàn)。你可以創(chuàng)建針對應(yīng)用程序進(jìn)行優(yōu)化的較小運(yùn)行時映像而不需要使用完全加載 JDK 安裝版本。
交互式 Java REPL
許多語言已經(jīng)具有交互式編程環(huán)境,Java 現(xiàn)在加入了這個俱樂部。您可以從控制臺啟動 并直接啟動輸入和執(zhí)行 Java 代碼。
的即時反饋使它成為探索 API 和嘗試語言特性的好工具。
測試一個 Java 正則表達(dá)式是一個很好的說明 jshell 如何使您的生活更輕松的例子。
交互式 shell 還可以提供良好的教學(xué)環(huán)境以及提高生產(chǎn)力,您可以在此了解更多信息。在教人們?nèi)绾尉帉?Java 的過程中,不再需要解釋 “public static void main(String [] args)” 這句廢話。
4. 改進(jìn)的 Javadoc
有時一些小事情可以帶來很大的不同。你是否就像我一樣在一直使用 Google 來查找正確的 Javadoc 頁面呢? 這不再需要了。Javadoc 現(xiàn)在支持在 API 文檔中的進(jìn)行搜索。另外,Javadoc 的輸出現(xiàn)在符合兼容 WEB標(biāo)準(zhǔn)。此外,你會注意到,每個 Javadoc 頁面都包含有關(guān) JDK 模塊類或接口來源的信息。
Java語言是一門經(jīng)久不衰的語言,發(fā)展至今已經(jīng)超過15年。15年的時間可以改變很多事情,但是較火爆的語言之一還是有Java。Java9的發(fā)布又吸引了一大批程序員的興奮,想學(xué)習(xí)Java的小鮮肉們快來千鋒奮起直追吧,成就自己的Java夢。
千鋒教育:
千鋒西安校區(qū):
西安校區(qū)地址:西安市雁塔區(qū)高新六路52號立人科技C座西區(qū)4樓
面授課程:全棧WEB+培訓(xùn)、全鏈路設(shè)計培訓(xùn)、PHP全棧+服務(wù)器集群培訓(xùn)、JavaEE+分布式開發(fā)培訓(xùn)、大數(shù)據(jù)+人工智能培訓(xùn)、 Unity游戲開發(fā)培訓(xùn)、Python培訓(xùn)、云計算+Python運(yùn)維培訓(xùn)、全棧軟件測試培訓(xùn)、Android培訓(xùn)、iOS培訓(xùn)