亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 標記整理算法

    查看全部
  • 跟蹤收集算法

    查看全部
  • 垃圾回收值引用計數算法

    查看全部
  • jdk11單文件源文件運行只需要java helloworld.java,不再需要javac編譯

    查看全部
  • jdk10允許使用var關鍵字來定義變量:var i=10(必須初始化,否則編譯報錯,一旦初始化完成過后類型就會確定,不能再賦予其他類型的值,即i不能賦值為“abc”或者2.0等非int類型的值)

    查看全部
  • jdk11標準的http請求,可以不用依賴第三方的http工具包

    查看全部
  • 優化64位架構

    查看全部
  • methodhandler相較于反射更輕量級:

    1.本質上講兩個都是在模擬方法的調用,但Reflection是模擬java代碼層次的調用,而MethodHandle是模擬的字節碼層次的,上面的例子中是模擬的invokevirtual指令。

    2.Reflection是重量級的,而MethodHandle是輕量級的。

    最重要的是,Reflection 只為java服務,而MethodHandle則可以服務于所有的運行在java虛擬機上的語言。

    public?class?MethodHandlerTest?{
    ????static?class?A?{
    ????????public?void?println(String?s)?{
    ????????????System.err.println("i?am?class?A:"?+?s);
    ????????}
    ????}
    
    ????public?static?void?main(String[]?args)?throws?Throwable?{
    ????????Object?object?=?System.currentTimeMillis()?%?2?==?0???System.out?:?new?A();
    ????????//無論?object是要那個實現類,下面的都能正確調用?到println方法
    ????????getPrintlnMh(object).invokeExact("lisj");
    ????}
    
    ????private?static?MethodHandle?getPrintlnMh(Object?target)?throws?Exception?{
    ????????MethodType?methodType?=?MethodType.methodType(void.class,?String.class);
    ????????return?MethodHandles.lookup().findVirtual(target.getClass(),?"println",?methodType).bindTo(target);
    ????}
    }


    查看全部
  • jdk11之前的版本通過反射訪問private修飾的屬性成員需field.setaccessable(),而jdk11則不需要設置

    查看全部
  • export JAVA_11_HOME=...

    export JAVA_12_HOME=...

    export JAVA_HOME=$JAVA_11_HOME

    alias jdk11="export JAVA_HOME=$JAVA_11_HOME"

    alias jdk12="export JAVA_HOME=$JAVA_12_HOME"

    通過配置可以設置默認jdk以及動態切換jdk版本,比如這個配置默認是使用jdk11,如果想使用jdk12的話只要只想jdk12即可實現切換

    查看全部
  • 摘要

    開發一個處理內存分配但不實現任何實際內存回收機制的GC。一旦可用的Java堆耗盡,JVM將關閉。

    目標

    提供完全被動的GC實現,具有有限的分配限制和盡可能低的延遲開銷,但代價是內存占用和內存吞吐量。成功的實現是孤立的代碼更改,不會觸及其他GC,并且在JVM的其余部分中進行最小的更改。


    查看全部
  • Unicode10執行結果為圖形

    查看全部
    0 采集 收起 來源:Unicode 10

    2019-04-25

  • JEP 327:Unicode 10

    http://openjdk.java.net/jeps/327

    摘要

    升級現有的平臺API,支持10.0版本中的Unicode標準。

    http://unicode.org/versions/Unicode10.0.0/

    目標

    支持最新版本的Unicode,主要在以下類中:

    • Character并且Stringjava.lang封裝

    • NumericShaperjava.awt.font包中,和

    • BidiBreakIteratorNormalizerjava.text包中。

    非目標

    此JEP將不會實現四個相關的Unicode規范:

    • UTS#10,Unicode校對算法

    • UTS#39,Unicode安全機制

    • UTS#46,Unicode IDNA兼容性處理

    • UTS#51,Unicode表情符號

    動機

    Unicode是一個不斷發展的行業標準,因此我們必須使Java與最新版本保持一致。

    描述

    Java SE 10實現了Unicode 8.0。Unicode 9.0增加了7,500個字符和6個新腳本,Unicode 10.0.0增加了8,518個字符和4個新腳本。此升級將包括Unicode 9.0更改,因此將添加總共16,018個字符和10個新腳本。


    查看全部
    0 采集 收起 來源:Unicode 10

    2019-04-25

  • JEP 323:Lambda參數的本地變量語法

    http://openjdk.java.net/jeps/323

    摘要

    允許var在聲明隱式類型的lambda表達式的形式參數時使用。

    目標

    • 將隱式類型的lambda表達式中的形式參數聲明的語法與局部變量聲明的語法對齊。

    非目標

    • 將任何其他類型的變量聲明(例如,方法的形式參數)的語法與局部變量聲明的語法對齊。

    動機

    一個lambda表達式可以被隱式類型,其中類型的所有形式參數都推斷出:

    (x,?y)?->?x.process(y)????//?implicitly?typed?lambda?expression

    Java SE 10使隱式類型可用于局部變量:

    var?x?=?new?Foo();
    for?(var?x?:?xs)?{?...?}
    try?(var?x?=?...)?{?...?}?catch?...

    為了與局部變量保持一致,我們希望允許'var'用于隱式類型的lambda表達式的形式參數:

    (var?x,?var?y)?->?x.process(y)???//?implicit?typed?lambda?expression

    統一性的一個好處是修飾符,特別是注釋,可以應用于局部變量和lambda形式,而不會失去簡潔性:

    @Nonnull?var?x?=?new?Foo();
    (@Nonnull?var?x,?@Nullable?var?y)?->?x.process(y)

    描述

    對于隱式類型的lambda表達式的形式參數,允許使用保留的類型名稱var,以便:

    (var?x,?var?y)?->?x.process(y)

    相當于:

    (x,?y)?->?x.process(y)

    隱式類型的lambda表達式必須var用于其所有形式參數,或者不能用于任何形式參數。此外,var僅允許隱式類型化lambda表達式的形式參數---顯式類型化的lambda表達式繼續為其所有形式參數指定清單類型,因此某些形式參數不允許其他人使用清單類型var。以下示例是非法的:

    (var?x,?y)?->?x.process(y)?????????//?Cannot?mix?'var'?and?'no?var'?in?implicitly?typed?lambda?expression
    (var?x,?int?y)?->?x.process(y)?????//?Cannot?mix?'var'?and?manifest?types?in?explicitly?typed?lambda?expression

    從理論上講,有一個lambda表達式可能就像上面的最后一行一樣,它是半顯式類型(或半隱式類型,取決于你的觀點)。但是,它超出了此JEP的范圍,因為它會深刻影響類型推斷和重載決策。這是保持lambda表達式必須指定所有清單參數類型或不指定的限制的主要原因。我們還希望強制推斷隱式類型化lambda表達式的參數的類型是否相同無論是否var使用。我們可能會在未來的JEP中回到局部推斷的問題。此外,我們不希望損害簡寫語法的簡潔性,因此我們不允許使用以下表達式:

    var?x?->?x.foo()


    查看全部
  • JEP 321:HTTP客戶端(標準)

    http://openjdk.java.net/jeps/321

    摘要

    通過JEP 110標準化JDK 9中引入的孵化?HTTP客戶端API?,并在JDK 10中進行更新。

    目標

    除了JEP 110目標之外,這個JEP還將:

    • 考慮孵化的API收到的反饋,

    • java.net.http包中提供基于孵育的API?的標準化?API,和

    • 刪除孵化的API。

    動機

    這個JEP的動機與JEP 110動機保持一致?。


    查看全部
首頁上一頁1234下一頁尾頁

舉報

0/150
提交
取消
課程須知
本課程是對 JDK 新版本的特性進行解讀,并不會介紹 Java 語言及語法特性。所以,在學習本課程之前,需要對 Java 語言有所了解。
老師告訴你能學到什么?
1. 多版本 JDK 的安裝和配置 2. JDK11 核心新特性的介紹及代碼演示 3. JDK12 核心新特性的介紹及代碼演示

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!