系統(tǒng)軟件園 - 打造精品軟件下載網(wǎng)站 系統(tǒng)軟件園首頁 | Win7激活工具 | 熱門專題
系統(tǒng)軟件園>您的位置:首頁 > 軟件下載 > 系統(tǒng)軟件 > 編程開發(fā) > JDK9 64位正式版下載

Java SE Development Kit 9

V9.0.4官方版
Java SE Development Kit 9
更新時間:2022-05-24軟件大?。?/span>716.1M軟件格式:.rar
授權(quán)方式:免費版軟件語言:簡體中文軟件類型:國產(chǎn)軟件

安全檢測:

推薦星級:

分享到:

軟件介紹

JDK1.9是Java語言的軟件包開發(fā)工具,是整個Java的核心,包括了Java運行環(huán)境,一堆Java工具和Java基礎(chǔ)的類庫。改版本提供源代碼,一些基礎(chǔ)的編程項目可以選擇代碼模板新建開發(fā)項目,還提供超過 150 項新功能特性,包括備受期待的模塊化系統(tǒng)、可交互的 REPL 工具 jshell,以及安全增強、擴(kuò)展提升、性能管理改善等,對于需要通過Java編程的朋友來說是很有幫助的,有需要的用戶就趕緊下載吧!
Java SE Development Kit 9

新特性

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 文件都包含一個額外的模塊描述器。在這個模塊描述器中, 對其它模塊的依賴是通過 “requires” 來表示的。另外, “exports” 語句控制著哪些包是可以被其它模塊訪問到的。
我們可以如下展示模塊:
請注意,兩個模塊都包含封裝的包,因為它們沒有被導(dǎo)出(使用橙色盾牌可視化)。 沒有人會偶然地使用來自這些包中的類。Java 平臺本身也使用自己的模塊系統(tǒng)進(jìn)行了模塊化。通過封裝 JDK 的內(nèi)部類,平臺更安全,持續(xù)改進(jìn)也更容易。
當(dāng)啟動一個模塊化應(yīng)用時, JVM 會驗證是否所有的模塊都能使用,這基于 `requires` 語句——比脆弱的類路徑邁進(jìn)了一大步。模塊允許你更好地強制結(jié)構(gòu)化封裝你的應(yīng)用并明確依賴。你可以在這個課程中學(xué)習(xí)更多關(guān)于 Java 9 中模塊工作的信息 。
2、Linking
當(dāng)你使用具有顯式依賴關(guān)系的模塊和模塊化的 JDK 時,新的可能性出現(xiàn)了。你的應(yīng)用程序模塊現(xiàn)在將聲明其對其他應(yīng)用程序模塊的依賴以及對其所使用的 JDK 模塊的依賴。為什么不使用這些信息創(chuàng)建一個最小的運行時環(huán)境,其中只包含運行應(yīng)用程序所需的那些模塊呢? 這可以通過 Java 9 中的新的 jlink 工具實現(xiàn)。你可以創(chuàng)建針對應(yīng)用程序進(jìn)行優(yōu)化的最小運行時映像而不需要使用完全加載 JDK 安裝版本。
3、JShell : 交互式 Java REPL
許多語言已經(jīng)具有交互式編程環(huán)境,Java 現(xiàn)在加入了這個俱樂部。您可以從控制臺啟動 jshell ,并直接啟動輸入和執(zhí)行 Java 代碼。 jshell 的即時反饋使它成為探索 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)在符合兼容 HTML5 標(biāo)準(zhǔn)。此外,你會注意到,每個 Javadoc 頁面都包含有關(guān) JDK 模塊類或接口來源的信息。
5、集合工廠方法
通常,您希望在代碼中創(chuàng)建一個集合(例如,List 或 Set ),并直接用一些元素填充它。 實例化集合,幾個 “add” 調(diào)用,使得代碼重復(fù)。 Java 9,添加了幾種集合工廠方法:
除了更短和更好閱讀之外,這些方法也可以避免您選擇特定的集合實現(xiàn)。 事實上,從工廠方法返回已放入數(shù)個元素的集合實現(xiàn)是高度優(yōu)化的。這是可能的,因為它們是不可變的:在創(chuàng)建后,繼續(xù)添加元素到這些集合會導(dǎo)致 “UnsupportedOperationException” 。
6、改進(jìn)的 Stream API
長期以來,Stream API 都是 Java 標(biāo)準(zhǔn)庫最好的改進(jìn)之一。通過這套 API 可以在集合上建立用于轉(zhuǎn)換的申明管道。在 Java 9 中它會變得更好。Stream 接口中添加了 4 個新的方法:dropWhile, takeWhile, ofNullable。還有個 iterate 方法的新重載方法,可以讓你提供一個 Predicate (判斷條件)來指定什么時候結(jié)束迭代:
第二個參數(shù)是一個 Lambda,它會在當(dāng)前 IntStream 中的元素到達(dá) 100 的時候返回 true。因此這個簡單的示例是向控制臺打印 1 到 99。
除了對 Stream 本身的擴(kuò)展,Optional 和 Stream 之間的結(jié)合也得到了改進(jìn)?,F(xiàn)在可以通過 Optional 的新方法 `stram` 將一個 Optional 對象轉(zhuǎn)換為一個(可能是空的) Stream 對象:
在組合復(fù)雜的 Stream 管道時,將 Optional 轉(zhuǎn)換為 Stream 非常有用。
7、私有接口方法
Java 8 為我們帶來了接口的默認(rèn)方法。 接口現(xiàn)在也可以包含行為,而不僅僅是方法簽名。 但是,如果在接口上有幾個默認(rèn)方法,代碼幾乎相同,會發(fā)生什么情況? 通常,您將重構(gòu)這些方法,調(diào)用一個可復(fù)用的私有方法。 但默認(rèn)方法不能是私有的。 將復(fù)用代碼創(chuàng)建為一個默認(rèn)方法不是一個解決方案,因為該輔助方法會成為公共API的一部分。 使用 Java 9,您可以向接口添加私有輔助方法來解決此問題:
如果您使用默認(rèn)方法開發(fā) API ,那么私有接口方法可能有助于構(gòu)建其實現(xiàn)。
8、HTTP/2
Java 9 中有新的方式來處理 HTTP 調(diào)用。這個遲到的特性用于代替老舊的 `HttpURLConnection` API,并提供對 WebSocket 和 HTTP/2 的支持。注意:新的 HttpClient API 在 Java 9 中以所謂的孵化器模塊交付。也就是說,這套 API 不能保證 100% 完成。不過你可以在 Java 9 中開始使用這套 API:
除了這個簡單的請求/響應(yīng)模型之外,HttpClient 還提供了新的 API 來處理 HTTP/2 的特性,比如流和服務(wù)端推送。
9、多版本兼容 JAR
我們最后要來著重介紹的這個特性對于庫的維護(hù)者而言是個特別好的消息。當(dāng)一個新版本的 Java 出現(xiàn)的時候,你的庫用戶要花費數(shù)年時間才會切換到這個新的版本。這就意味著庫得去向后兼容你想要支持的最老的 Java 版本 (許多情況下就是 Java 6 或者 7)。這實際上意味著未來的很長一段時間,你都不能在庫中運用 Java 9 所提供的新特性。幸運的是,多版本兼容 JAR 功能能讓你創(chuàng)建僅在特定版本的 Java 環(huán)境中運行庫程序時選擇使用的 class 版本:
在上述場景中, multirelease.jar 可以在 Java 9 中使用, 不過 Helper 這個類使用的不是頂層的 multirelease.Helper 這個 class, 而是處在“META-INF/versions/9”下面的這個。這是特別為 Java 9 準(zhǔn)備的 class 版本,可以運用 Java 9 所提供的特性和庫。同時,在早期的 Java 諸版本中使用這個 JAR 也是能運行的,因為較老版本的 Java 只會看到頂層的這個 Helper 類。

軟件功能

1、可執(zhí)行文件

(在bin/子目錄中)Java運行時環(huán)境(JRE)的實現(xiàn)。JRE包括Java虛擬機(jī)(JVM™),類庫和其他文件,這些文件支持以Java編程語言編寫的程序的執(zhí)行。該目錄還包括工具和實用程序,可幫助您開發(fā),執(zhí)行,調(diào)試和記錄以Java編程語言編寫的程序。

2、配置文件

(在conf/子目錄中)包含用戶可配置選項的文件。可以編輯此目錄中的文件,以更改JDK的訪問權(quán)限,配置安全算法并設(shè)置Java密碼學(xué)擴(kuò)展策略文件,這些文件可用于限制JDK的加密強度。

3、C頭文件

(在include/子目錄中)C語言頭文件,支持使用Java本機(jī)接口和Java虛擬機(jī)(JVM)調(diào)試器接口進(jìn)行本機(jī)代碼編程。

4、編譯的Java模塊

(在jmods/子目錄中)jlink用于創(chuàng)建自定義運行時的編譯模塊。

5、版權(quán)和許可文件

(在legal/子目錄中)每個模塊的許可和版權(quán)文件。將第三方通知包含為.md(markdown)文件。

6、其他庫

(在lib/子目錄中)JDK所需的其他類庫和支持文件。這些文件不供外部使用。

7、重新分配

此軟件的許可證不允許重新分發(fā)beta版和其他預(yù)發(fā)行版本。

如果您遵守Java SE平臺產(chǎn)品的Oracle二進(jìn)制代碼許可協(xié)議的條款和條件,則可以復(fù)制和分發(fā)本軟件。

相關(guān)軟件下載
返回頂部


系統(tǒng)軟件完發(fā)布的系統(tǒng)鏡像及軟件均來至互聯(lián)網(wǎng),僅供學(xué)習(xí)和研究使用,不得用于任何商業(yè)用途并請在下載后24小時內(nèi)刪除,如果滿意請聯(lián)系版權(quán)方購買。
如果您發(fā)現(xiàn)本站侵害了您的版權(quán),請立即聯(lián)系我們,本站將第一時間進(jìn)行相關(guān)處理。郵箱:[見首頁]
版權(quán)聲明|下載聲明 Copyright @ 2021 系統(tǒng)軟件園