• <sup id="qus6g"><delect id="qus6g"></delect></sup>
  • <strike id="qus6g"></strike>
  • <del id="qus6g"></del>
    <strike id="qus6g"></strike>
  • <ul id="qus6g"></ul>
    Java SE Development Kit(JDK開(kāi)發(fā)工具) V15.0.1 官方版

    Java SE Development Kit(JDK開(kāi)發(fā)工具) V15.0.1 官方版

    評(píng)分:

    文件大小:158.23 MB

    類型:應(yīng)用軟件

    開(kāi)發(fā):

    要求:WinAll

    軟件介紹

    JDK(Java Development Kit)是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境、Java開(kāi)發(fā)工具和Java基礎(chǔ)類庫(kù)源代碼。該JDK提供了Jshell,用戶可以從控制臺(tái)啟動(dòng)Jshell,可以直接啟動(dòng)輸入和執(zhí)行Java代碼。JDK是用戶在要在電腦上運(yùn)行Java程序必不可少的環(huán)境。

    Java

    基本簡(jiǎn)介

    Java SE, JDK 9 現(xiàn)已正式發(fā)布!首先新功能jshell無(wú)疑讓JAVA再次領(lǐng)先其它編程語(yǔ)言和平臺(tái)10年以上!java開(kāi)發(fā)者們?cè)僖膊挥昧w慕別的自帶REPL的語(yǔ)言了,不用為了試個(gè)Java功能而開(kāi)個(gè)Groovy shell了 。其次最主要的大功能就是Jigsaw——Java模塊化了,有了它,自己定制/裁剪JDK變得更直接。

    Java SE Development Kit已經(jīng)正式推出了全新的jdk9,但是許多用戶都在網(wǎng)上傳謠說(shuō)jdk9沒(méi)有32位版本的,其實(shí)jdk9暫未放棄32位運(yùn)行環(huán)境推出了32位版,用戶朋友可以下載使用32位的jdk9進(jìn)行開(kāi)發(fā)。用過(guò)JDK的同學(xué)肯定知道這肯定是32位版本的。

    開(kāi)發(fā)組成

    javac – 編譯器,將源程序轉(zhuǎn)成字節(jié)碼。

    jar – 打包工具,將相關(guān)的類文件打包成一個(gè)文件。

    javadoc – 文檔生成器,從源碼注釋中提取文檔。

    jdb – debugger,查錯(cuò)工具。

    java – 運(yùn)行編譯后的java程序(.class后綴的)。

    appletviewer:小程序?yàn)g覽器,一種執(zhí)行html文件上的Java小程序的Java瀏覽器。

    Javah:產(chǎn)生可以調(diào)用Java過(guò)程的C過(guò)程,或建立能被Java程序調(diào)用的C過(guò)程的頭文件。

    Javap:Java反匯編器,顯示編譯類文件中的可訪問(wèn)功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。

    Jconsole: Java進(jìn)行系統(tǒng)調(diào)試和監(jiān)控的工具。

    Java

    軟件特色

    1、Java 平臺(tái)級(jí)模塊系統(tǒng)

    Java 9 的定義功能是一套全新的模塊系統(tǒng)。當(dāng)代碼庫(kù)越來(lái)越大,創(chuàng)建復(fù)雜,盤(pán)根錯(cuò)節(jié)的“意大利面條式代碼”的幾率呈指數(shù)級(jí)的增長(zhǎng)。這時(shí)候就得面對(duì)兩個(gè)基礎(chǔ)的問(wèn)題: 很難真正地對(duì)代碼進(jìn)行封裝, 而系統(tǒng)并沒(méi)有對(duì)不同部分(也就是 JAR 文件)之間的依賴關(guān)系有個(gè)明確的概念。每一個(gè)公共類都可以被類路徑之下任何其它的公共類所訪問(wèn)到, 這樣就會(huì)導(dǎo)致無(wú)意中使用了并不想被公開(kāi)訪問(wèn)的 API。此外,類路徑本身也存在問(wèn)題: 你怎么知曉所有需要的 JAR 都已經(jīng)有了, 或者是不是會(huì)有重復(fù)的項(xiàng)呢? 模塊系統(tǒng)把這倆個(gè)問(wèn)題都給解決了。

    模塊化的 JAR 文件都包含一個(gè)額外的模塊描述器。在這個(gè)模塊描述器中, 對(duì)其它模塊的依賴是通過(guò) “requires” 來(lái)表示的。另外, “exports” 語(yǔ)句控制著哪些包是可以被其它模塊訪問(wèn)到的。所有不被導(dǎo)出的包默認(rèn)都封裝在模塊的里面。如下是一個(gè)模塊描述器的示例,存在于 “module-info.java” 文件中:

    module blog {

    exports com.pluralsight.blog;

    requires cms;

    }

    2、Linking

    當(dāng)你使用具有顯式依賴關(guān)系的模塊和模塊化的 JDK 時(shí),新的可能性出現(xiàn)了。你的應(yīng)用程序模塊現(xiàn)在將聲明其對(duì)其他應(yīng)用程序模塊的依賴以及對(duì)其所使用的 JDK 模塊的依賴。為什么不使用這些信息創(chuàng)建一個(gè)最小的運(yùn)行時(shí)環(huán)境,其中只包含運(yùn)行應(yīng)用程序所需的那些模塊呢? 這可以通過(guò) Java 9 中的新的 jlink 工具實(shí)現(xiàn)。你可以創(chuàng)建針對(duì)應(yīng)用程序進(jìn)行優(yōu)化的最小運(yùn)行時(shí)映像而不需要使用完全加載 JDK 安裝版本。

    3、JShell : 交互式 Java REPL

    許多語(yǔ)言已經(jīng)具有交互式編程環(huán)境,Java 現(xiàn)在加入了這個(gè)俱樂(lè)部。您可以從控制臺(tái)啟動(dòng) jshell ,并直接啟動(dòng)輸入和執(zhí)行 Java 代碼。 jshell 的即時(shí)反饋使它成為探索 API 和嘗試語(yǔ)言特性的好工具。

    測(cè)試一個(gè) Java 正則表達(dá)式是一個(gè)很好的說(shuō)明 jshell 如何使您的生活更輕松的例子。 交互式 shell 還可以提供良好的教學(xué)環(huán)境以及提高生產(chǎn)力,您可以在此了解更多信息。在教人們?nèi)绾尉帉?xiě) Java 的過(guò)程中,不再需要解釋 “public static void main(String [] args)” 這句廢話。

    4、改進(jìn)的 Javadoc

    有時(shí)一些小事情可以帶來(lái)很大的不同。你是否就像我一樣在一直使用 Google 來(lái)查找正確的 Javadoc 頁(yè)面呢? 這不再需要了。Javadoc 現(xiàn)在支持在 API 文檔中的進(jìn)行搜索。另外,Javadoc 的輸出現(xiàn)在符合兼容 HTML5 標(biāo)準(zhǔn)。此外,你會(huì)注意到,每個(gè) Javadoc 頁(yè)面都包含有關(guān) JDK 模塊類或接口來(lái)源的信息。

    Java

    5、集合工廠方法

    通常,您希望在代碼中創(chuàng)建一個(gè)集合(例如,List 或 Set ),并直接用一些元素填充它。 實(shí)例化集合,幾個(gè) “add” 調(diào)用,使得代碼重復(fù)。 Java 9,添加了幾種集合工廠方法:

    Set ints = Set.of(1, 2, 3)。

    List strings = List.of(“first”, “second”)。

    除了更短和更好閱讀之外,這些方法也可以避免您選擇特定的集合實(shí)現(xiàn)。 事實(shí)上,從工廠方法返回已放入數(shù)個(gè)元素的集合實(shí)現(xiàn)是高度優(yōu)化的。這是可能的,因?yàn)樗鼈兪遣豢勺兊模涸趧?chuàng)建后,繼續(xù)添加元素到這些集合會(huì)導(dǎo)致 “UnsupportedOperationException” 。

    6、改進(jìn)的 Stream API

    長(zhǎng)期以來(lái),Stream API 都是 Java 標(biāo)準(zhǔn)庫(kù)最好的改進(jìn)之一。通過(guò)這套 API 可以在集合上建立用于轉(zhuǎn)換的申明管道。在 Java 9 中它會(huì)變得更好。Stream 接口中添加了 4 個(gè)新的方法:dropWhile, takeWhile, ofNullable。還有個(gè) iterate 方法的新重載方法,可以讓你提供一個(gè) Predicate (判斷條件)來(lái)指定什么時(shí)候結(jié)束迭代:

    IntStream.iterate(1, i -》 i 《 100, i -》 i + 1).forEach(System.out::println)。

    第二個(gè)參數(shù)是一個(gè) Lambda,它會(huì)在當(dāng)前 IntStream 中的元素到達(dá) 100 的時(shí)候返回 true。因此這個(gè)簡(jiǎn)單的示例是向控制臺(tái)打印 1 到 99。

    除了對(duì) Stream 本身的擴(kuò)展,Optional 和 Stream 之間的結(jié)合也得到了改進(jìn)。現(xiàn)在可以通過(guò) Optional 的新方法 `stram` 將一個(gè) Optional 對(duì)象轉(zhuǎn)換為一個(gè)(可能是空的) Stream 對(duì)象:

    Stream s = Optional.of(1).stream()。

    在組合復(fù)雜的 Stream 管道時(shí),將 Optional 轉(zhuǎn)換為 Stream 非常有用。

    Java

    7、私有接口方法

    Java 8 為我們帶來(lái)了接口的默認(rèn)方法。 接口現(xiàn)在也可以包含行為,而不僅僅是方法簽名。 但是,如果在接口上有幾個(gè)默認(rèn)方法,代碼幾乎相同,會(huì)發(fā)生什么情況? 通常,您將重構(gòu)這些方法,調(diào)用一個(gè)可復(fù)用的私有方法。 但默認(rèn)方法不能是私有的。 將復(fù)用代碼創(chuàng)建為一個(gè)默認(rèn)方法不是一個(gè)解決方案,因?yàn)樵撦o助方法會(huì)成為公共API的一部分。 使用 Java 9,您可以向接口添加私有輔助方法來(lái)解決此問(wèn)題:

    public interface MyInterface {

    void normalInterfaceMethod();

    default void interfaceMethodWithDefault() { init(); }

    default void anotherDefaultMethod() { init(); }

    // This method is not part of the public API exposed by MyInterface

    private void init() { System.out.println(“Initializing”); }

    }

    如果您使用默認(rèn)方法開(kāi)發(fā) API ,那么私有接口方法可能有助于構(gòu)建其實(shí)現(xiàn)。

    8、HTTP/2

    Java 9 中有新的方式來(lái)處理 HTTP 調(diào)用。這個(gè)遲到的特性用于代替老舊的 `HttpURLConnection` API,并提供對(duì) WebSocket 和 HTTP/2 的支持。注意:新的 HttpClient API 在 Java 9 中以所謂的孵化器模塊交付。也就是說(shuō),這套 API 不能保證 100% 完成。

    9、多版本兼容 JAR

    我們最后要來(lái)著重介紹的這個(gè)特性對(duì)于庫(kù)的維護(hù)者而言是個(gè)特別好的消息。當(dāng)一個(gè)新版本的 Java 出現(xiàn)的時(shí)候,你的庫(kù)用戶要花費(fèi)數(shù)年時(shí)間才會(huì)切換到這個(gè)新的版本。這就意味著庫(kù)得去向后兼容你想要支持的最老的 Java 版本 (許多情況下就是 Java 6 或者 7)。這實(shí)際上意味著未來(lái)的很長(zhǎng)一段時(shí)間,你都不能在庫(kù)中運(yùn)用 Java 9 所提供的新特性。

    配置命令

    CMD命令提示符輸入 java -version。

    最新特性

    —最好玩的新功能當(dāng)屬jshell,有了它無(wú)疑讓JAVA再次領(lǐng)先其它編程語(yǔ)言和平臺(tái)10年以上!騎士繼續(xù)流行20年也完全沒(méi)有問(wèn)題。因?yàn)樗虶raal+Truffle、Substrate VM開(kāi)啟了無(wú)限可能!Java開(kāi)發(fā)們們?cè)僖膊挥昧w慕別的自帶REPL的語(yǔ)言了,不用為了試個(gè)Java功能而開(kāi)個(gè)Groovy shell了 。

    —最主要的大功能就是Jigsaw——Java模塊化了,有了它,自己定制/裁剪JDK變得更直接,而包沖突也會(huì)變得更容易發(fā)現(xiàn)和解決。

    —作為JVM的JIT編譯器研發(fā),最關(guān)注的功能是JVMCI,有了它之后,第三方開(kāi)發(fā)就可以更為方便的向HotSpot VM插入一些強(qiáng)大的插件,例如說(shuō)可以從外部配置插入一個(gè)新的JIT編譯器。這樣,要在HotSpot VM上使用Graal編譯器就非常容易了,不必再專門用改造過(guò)的Graal VM。Oracle JDK 9計(jì)劃在未來(lái)的某個(gè)update版本里發(fā)布配套的AOT編譯器,而這個(gè)AOT編譯器正是基于Graal與JVMCI的。

    —Oracle JDK 9 / OpenJDK 9把G1作為默認(rèn)GC選項(xiàng),如果要選用Parallel GC、CMS GC等別的GC的話則要顯式在命令行上指定。這對(duì)目前正在使用CMS GC的人來(lái)說(shuō)多半沒(méi)什么影響,畢竟現(xiàn)在用CMS GC也要顯式配置-XX:+UseConcMarkSweepGC選項(xiàng)。

    更新日志

    將bug掃地出門進(jìn)行到底。

    優(yōu)化用戶反饋的問(wèn)題,提升細(xì)節(jié)體驗(yàn)。

    微信二維碼
    亚洲av区一区二区三| 亚洲综合无码一区二区三区| 一区二区三区亚洲| 亚洲精品成人区在线观看| 亚洲av日韩av永久在线观看 | 亚洲美女高清一区二区三区| 天堂亚洲国产中文在线| 亚洲国产精品人久久| 亚洲欧洲无码AV电影在线观看 | 亚洲国产成人久久精品影视| 亚洲AV无码国产精品麻豆天美| 国产精品亚洲综合专区片高清久久久| 亚洲成a人片在线观看老师| 在线观看亚洲精品福利片| 亚洲尤码不卡AV麻豆| 亚洲国产精品VA在线观看麻豆| 国产精品亚洲一区二区三区在线| 国产精品国产亚洲精品看不卡| 亚洲色精品88色婷婷七月丁香| 三上悠亚亚洲一区高清| 亚洲无人区午夜福利码高清完整版 | 亚洲国产理论片在线播放| 亚洲伊人久久大香线蕉在观| 天堂亚洲国产中文在线| 国产精品亚洲一区二区三区| 精品国产香蕉伊思人在线在线亚洲一区二区 | 亚洲AV一区二区三区四区| 亚洲youwu永久无码精品 | 国产成人无码综合亚洲日韩| 久久精品夜色国产亚洲av| 亚洲国产成人久久精品影视| 亚洲嫩草影院在线观看| 在线观看亚洲AV日韩A∨| 国产精品亚洲精品日韩动图| 色噜噜AV亚洲色一区二区| 亚洲日韩欧洲无码av夜夜摸| 亚洲最大成人网色| 亚洲日韩精品无码专区| 亚洲欧洲久久久精品| 久久被窝电影亚洲爽爽爽| 亚洲精品无码鲁网中文电影|