大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 簡述JDK14新特性

簡述JDK14新特性

更新時間:2021-02-01 17:26:20 來源:動力節點 瀏覽1455次

2020/3/17日JDK14正式發版,每一次Java版本的更新都會帶來許多巨大的改變,對J從事Java行業和學習Java技術的人來說都是不可不關注的重大事件。本文我們就帶大家初步認識一下JDK14新特性

Java 14對應的JSR 389中包含16個JEP,也就是說在JDK14中新增了16個新的特性。

在JDK14中新增了以下16個新特性:

305: instanceof的模式匹配 (預覽)

343: 打包工具 (Incubator)

345: G1的NUMA內存分配優化

349: JFR事件流

352: 非原子性的字節緩沖區映射

358: 友好的空指針異常

359: Records (預覽)

361: Switch表達式 (標準)

362: 棄用Solaris和SPARC端口

363: 移除CMS(Concurrent Mark Sweep)垃圾收集器

364: macOS系統上的ZGC

365: Windows系統上的ZGC

366: 棄用ParallelScavenge + SerialOld GC組合

367: 移除Pack200 Tools和API

368: 文本塊 (第二個預覽版)

370: 外部存儲器API (Incubator)

上述的JDK新特性,有一些是我們之前學習Java中完全不曾見過的,有的則是在原有的基礎之上進行了一些變化。JDK14的新特性不一定都是我們能夠用到的,下面我們重點來講幾個JDK14新特性。

1.instanceof模式匹配

通常情況下我們使用instanceof來探測類的真實類型,如果符合該類型,則可進行強制轉換。

在Java14之前,我們通常的寫法如下:

Object obj = "班級";

if(obj instanceof String){

????String str = (String) obj;

????System.out.println("姓名:" + str);

}

通過java14的新特性,我們可以簡化成如下方式:

Object obj = "班級";

if(obj instanceof String str){

????System.out.println("姓名:" + str);

}

我們可以通過模式匹配簡潔地表達對象,并允許各種語句和表達式對其進行測試。

2.Switch表達式

通常情況下我們通過如下形式使用switch語法:

switch (day) {

????case MONDAY:

????case FRIDAY:

????case SUNDAY:

????????System.out.println(6);

????????break;

????case TUESDAY:

????????System.out.println(7);

????????break;

????case THURSDAY:

????case SATURDAY:

????????System.out.println(8);

????????break;

????case WEDNESDAY:

????????System.out.println(9);

????????break;

}

java14引入了新形式的switch標簽“case L->”,表示如果匹配,則只執行標簽右邊的代碼。switch標簽允許在每種情況下使用逗號分隔多個常量。

switch (day) {

????case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);

????case TUESDAY ???????????????-> System.out.println(7);

????case THURSDAY, SATURDAY ????-> System.out.println(8);

????case WEDNESDAY ?????????????-> System.out.println(9);

}

這樣看上去十分簡潔明了。

3.記錄類型(Record Type)的引入

Java 14中記錄類型(Record Type)作為預覽特性被引入。記錄對象允許使用緊湊的語法來聲明類,和枚舉類型一樣,記錄也是類的一種受限形式。

在idea 2020.1中,創建Record與創建類和枚舉一樣,可以在創建時直接選擇對應的類型。

定義一個Record類型如下:

public record Point(int x, int y) {

}

使用Record操作如下:

Point point = new Point(1,3);

System.out.println(point.x());

System.out.println(point.y());

對Record類進行反編譯我們會看到如下內容:

public final class Point extends java.lang.Record {

????private final int x;

????private final int y;



????public Point(int x, int y) { /* compiled code */ }



????public java.lang.String toString() { /* compiled code */ }



????public final int hashCode() { /* compiled code */ }



????public final boolean equals(java.lang.Object o) { /* compiled code */ }



????public int x() { /* compiled code */ }



????public int y() { /* compiled code */ }

}

是不是有替代Lombok的潛質?

4.文本塊作為預覽特性保留

通常情況下我們定義一個字符串,如果比較長可使用如下形式進行編寫:

String html = "

\n" +               "    

\n" +               "        

Hello, world

\n" +               "

\n";

使用java14的文本塊新特性,則可改寫為如下形式:

String html = """

??????????????

                  

                      

Hello, world

                  

              

              """;

文本塊是Java語言的新語法,可以用來表示任何字符串,具有更高的表達能力和更少的復雜度。

文本塊的開頭定界符是由三個雙引號字符(""")組成的序列,后面跟0個或多個空格,最后跟一個行終止符。內容從開頭定界符的行終止符之后的第一個字符開始。

結束定界符是三個雙引號字符的序列。內容在結束定界符的第一個雙引號之前的最后一個字符處結束。與字符串文字中的字符不同,文本塊的內容中可以直接包含雙引號字符。允許在文本塊中使用",但不是必需的或不建議使用。與字符串文字中的字符不同,內容可以直接包含行終止符。允許在文本塊中使用\n,但不是必需或不建議使用。

以上就是JDK14新特性的簡單介紹,當然,java14還有許多其他特性的優化,比如垃圾回收器的ParallelScavenge + SerialOld的棄用等。但在使用之前,還是需要慎重,畢竟很多特性都只是作為預覽特性出現,新的事物總是需要時間去慢慢適應環境。在本站的JDK新特性教程里,有歷代版本的JDK特性介紹,感興趣的小伙伴可以去了解一下。

 

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品久久亚洲一区二区 | 成人国产一区二区 | 久久99久久99精品免观看动漫 | 乱子伦xxx欧美 | 国产日韩精品一区二区在线观看 | 精品一区二区三区四区乱码90 | 伦理亚洲| 亚洲狠狠网站色噜噜 | 99久久精品国产免看国产一区 | 99欧美| 久久中文字幕一区二区三区 | 完整日本特级毛片 | 成人午夜大片 | 夜夜夜夜夜夜爽噜噜噜噜噜噜 | 热99re久久国超精品首页 | 久久精品成人一区二区三区 | 国产偷国产偷在线高清 | 欧美视频在线观看一区二区 | 精品久久中文久久久 | 日韩综合在线 | 色福利网 | 国内精品自在自线在免费 | 成人国产综合 | 91色桃 | 91久久亚洲最新一本 | 九九亚洲 | 亚洲欧美精品天堂久久综合一区 | 国产玖玖玖精品视频 | 婷婷四房| 操干干| 久久久久久综合对白国产 | 精品91 | 2020国产成人精品免费视频 | 免费一级大毛片a一观看不卡 | 午夜撸 | 天天撸夜夜操 | 亚洲尹人 | 美女被视频在线看九色 | jizz国产美女| 米奇精品一区二区三区在线观看 | 日本精品视频网站 |