最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析JDK12的五大重要新特性(推薦)

 更新時(shí)間:2020年05月13日 09:48:03   作者:flydean程序那些事  
這篇文章主要介紹了JDK12的五大重要新特性,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

JDK12的五大重要新特性

Java12在March 19, 2019發(fā)布了。

在2017年發(fā)布Java 9之后,Java平臺(tái)發(fā)布節(jié)奏已從每3年以上的主要版本轉(zhuǎn)變?yōu)槊?個(gè)月發(fā)布一次功能?,F(xiàn)在,每年的3月和9月都會(huì)發(fā)布新的版本功能。 從而提供了更細(xì)化,更快和可管理的版本更新。

這是一個(gè)好消息,不好的就是大家會(huì)覺(jué)得JDK的版本更新太快了。

什么?JDK12已經(jīng)出來(lái)了?

什么?9月份要出JDK13了?

什么?我還在用JDK8?

廢話少說(shuō),我們來(lái)看下JDK12的五個(gè)比較重要的新特性:

  • 引入JVM常量API
  • 擴(kuò)展了switch語(yǔ)句
  • 支持Unicode 11.0
  • 為日本Reiwa Era提供了方形字符支持
  • NumberFormat增加了對(duì)以緊湊格式格式化數(shù)字的支持

引入JVM常量API

每個(gè)Java類文件都有一個(gè)常量池,該池存儲(chǔ)該類中字節(jié)碼指令的操作。廣義上講,常量池中的條目要么描述運(yùn)行時(shí)artifacts(例如類和方法),要么描述簡(jiǎn)單值(例如字符串和整數(shù))。

所有這些條目都稱為可加載常量,因?yàn)樗鼈兛梢杂米鱨dc指令的參數(shù)(“加載常量”)。它們也可能出現(xiàn)在invokedynamic指令的引導(dǎo)方法的靜態(tài)參數(shù)列表中。執(zhí)行l(wèi)dc或invokedynamic指令會(huì)導(dǎo)致將可加載常量解析為標(biāo)準(zhǔn)Java類型(如Class,String或int)的“實(shí)時(shí)”值。

處理類文件的程序需要對(duì)字節(jié)碼指令進(jìn)行建模,然后對(duì)可加載常量進(jìn)行建模。但是,使用標(biāo)準(zhǔn)Java類型對(duì)可加載常量進(jìn)行建模是不夠的。

描述一個(gè)字符串(一個(gè)CONSTANT_String_info條目)的可加載常量可能是可以接受的,因?yàn)樯梢粋€(gè)“l(fā)ive” String對(duì)象是很簡(jiǎn)單的,但是對(duì)于描述一個(gè)類(一個(gè)CONSTANT_Class_info條目)的一個(gè)可加載常量來(lái)說(shuō),這是有問(wèn)題的,因?yàn)樯梢粋€(gè)“l(fā)ive”類對(duì)象依賴于類加載的正確性和一致性。

在實(shí)際應(yīng)用中,類加載具有許多環(huán)境依賴性和失敗的情況,例如:所需的類不存在或請(qǐng)求者可能無(wú)法訪問(wèn);類加載的結(jié)果隨上下文而變化;加載類具有副作用;有時(shí)根本不可能加載類。

因此,處理可加載常量的程序如果能夠操縱類和方法,并且以純名義上的符號(hào)形式操縱諸如方法句柄和動(dòng)態(tài)計(jì)算的常量之類的artifacts,則它們將變得更加簡(jiǎn)單。

JDK12在新包java.lang.invoke.constant中定義了一系列基于值的符號(hào)引用(JVMS 5.1)類型,它們能夠描述每種可加載常量。符號(hào)引用以純字面的形式描述了可加載常量,與類加載或可訪問(wèn)性上下文分開(kāi)。某些類可以充當(dāng)自己的符號(hào)引用(例如String);對(duì)于可鏈接常量,JDK12定義了一系列符號(hào)引用類型(ClassDesc,MethodTypeDesc,MethodHandleDesc和DynamicConstantDesc),來(lái)包含描述這些常量的信息。

擴(kuò)展了switch語(yǔ)句

這是JEP 325提出的一個(gè)預(yù)覽版本的預(yù)發(fā)特性?,F(xiàn)在被JDK13的 JEP 354替代了。

簡(jiǎn)單點(diǎn)講就是擴(kuò)展了switch語(yǔ)法,可以用作語(yǔ)句或表達(dá)式。

老的寫(xiě)法:

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;
}

新的寫(xiě)法:

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);
}

還可以有返回值:

int numLetters = switch (day) {
  case MONDAY, FRIDAY, SUNDAY -> 6;
  case TUESDAY        -> 7;
  case THURSDAY, SATURDAY   -> 8;
  case WEDNESDAY       -> 9;
};

支持Unicode 11.0

JDK 12版本包含對(duì)Unicode 11.0.0的支持。 在支持Unicode 10.0.0的JDK 11發(fā)行之后,Unicode 11.0.0引入了JDK 12現(xiàn)在包含的以下新功能:

  • 684個(gè)新字符
  • 11個(gè)新blocks
  • 7個(gè)新腳本。

為日本Reiwa Era提供了方形字符支持

簡(jiǎn)單點(diǎn)說(shuō)就是日本朝代更替,造了一個(gè)新字(Reiwa 令和)。所以需要Unicode的支持。

Unicode聯(lián)盟為這個(gè)字保留代碼:U+32FF。

現(xiàn)在的日本朝代叫:(Heisei 平成)。 是指日本歷史的一段時(shí)期,對(duì)應(yīng)于明仁天皇從1989年1月8日至至2019年4月30日退位。

他的兒子Naruhito皇太子于5月1日成為新的天皇后,改朝代名為:Reiwa。

NumberFormat增加了對(duì)以緊湊格式格式化數(shù)字的支持

NumberFormat增加了以緊湊格式格式化數(shù)字的支持。 緊湊的數(shù)字格式是指數(shù)字的簡(jiǎn)短形式或易于理解的形式。 例如,在en_US語(yǔ)言環(huán)境中,根據(jù)NumberFormat.Style指定的樣式,可以將1000格式化為“ 1K”,將1000000格式化為“ 1M”。 緊湊數(shù)字格式由LDML的緊湊數(shù)字格式規(guī)范定義。 若要獲取實(shí)例,請(qǐng)使用NumberFormat給出的工廠方法之一來(lái)進(jìn)行緊湊數(shù)字格式化。 例如:

NumberFormat fmt = NumberFormat.getCompactNumberInstance(Locale.US,NumberFormat.Style.SHORT);
String result = fmt.format(1000);

上面的示例生成“ 1K”。

總結(jié)

到此這篇關(guān)于JDK12的五大重要新特性的文章就介紹到這了,更多相關(guān)jdk12 新特征內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用itextpdf解決PDF合并的問(wèn)題

    使用itextpdf解決PDF合并的問(wèn)題

    這篇文章主要介紹了使用itextpdf解決PDF合并的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • IDEA 必要配置設(shè)置方式

    IDEA 必要配置設(shè)置方式

    這篇文章主要介紹了IDEA 必要配置設(shè)置方式,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Spring Cache擴(kuò)展功能實(shí)現(xiàn)過(guò)程解析

    Spring Cache擴(kuò)展功能實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Spring Cache擴(kuò)展功能實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 關(guān)于Filter中獲取請(qǐng)求體body后再次讀取的問(wèn)題

    關(guān)于Filter中獲取請(qǐng)求體body后再次讀取的問(wèn)題

    這篇文章主要介紹了關(guān)于Filter中獲取請(qǐng)求體body后再次讀取的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 利用EasyExcel導(dǎo)出帶有選擇校驗(yàn)框的excel

    利用EasyExcel導(dǎo)出帶有選擇校驗(yàn)框的excel

    EasyExcel是一個(gè)輕量級(jí)的Excel處理工具,支持Excel?2003(xls)和Excel?2007及以上版本(xlsx)的文件格式,本文將利用EasyExcel導(dǎo)出帶有選擇校驗(yàn)框的excel,需要的可以參考下
    2024-12-12
  • Java mysql詳細(xì)講解雙數(shù)據(jù)源配置使用

    Java mysql詳細(xì)講解雙數(shù)據(jù)源配置使用

    在開(kāi)發(fā)過(guò)程中我們常常會(huì)用到兩個(gè)數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)用來(lái)實(shí)現(xiàn)一些常規(guī)的增刪改查,另外一個(gè)數(shù)據(jù)庫(kù)用來(lái)實(shí)時(shí)存數(shù)據(jù)。進(jìn)行數(shù)據(jù)的統(tǒng)計(jì)分析。可以讀寫(xiě)分離??梢愿玫膬?yōu)化和提高效率;或者兩個(gè)數(shù)據(jù)存在業(yè)務(wù)分離的時(shí)候也需要多個(gè)數(shù)據(jù)源來(lái)實(shí)現(xiàn)
    2022-06-06
  • springboot v2.0.3版本多數(shù)據(jù)源配置方法

    springboot v2.0.3版本多數(shù)據(jù)源配置方法

    這篇文章主要介紹了springboot v2.0.3版本多數(shù)據(jù)源配置方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-11-11
  • 解析Spring中面向切面編程

    解析Spring中面向切面編程

    如果說(shuō) IoC 是 Spring 的核心,那么面向切面編程就是 Spring 最為重要的功能之一了,在數(shù)據(jù)庫(kù)事務(wù)中切面編程被廣泛使用
    2021-06-06
  • Springboot整合Redis的詳細(xì)教程分享

    Springboot整合Redis的詳細(xì)教程分享

    這篇文章主要為大家詳細(xì)介紹了如何利用SpringBoot整合Redis,文中的示例代碼講解詳細(xì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助
    2022-08-08
  • SpringBoot使用Redis Stream實(shí)現(xiàn)輕量消息隊(duì)列的示例代碼

    SpringBoot使用Redis Stream實(shí)現(xiàn)輕量消息隊(duì)列的示例代碼

    Redis Stream 是 Redis 5.0 引入的一種數(shù)據(jù)結(jié)構(gòu),用于處理日志類型的數(shù)據(jù),它提供了高效、可靠的方式來(lái)處理和存儲(chǔ)時(shí)間序列數(shù)據(jù),如事件、消息等,本文介紹了SpringBoot使用Redis Stream實(shí)現(xiàn)輕量消息隊(duì)列,需要的朋友可以參考下
    2024-08-08

最新評(píng)論

昌图县| 清河县| 屏边| 武功县| 桐庐县| 明星| 济南市| 九龙坡区| 东海县| 樟树市| 电白县| 西和县| 太保市| 棋牌| 盘锦市| 无锡市| 休宁县| 庐江县| 霸州市| 娄烦县| 台南县| 河池市| 道孚县| 鲜城| 邛崃市| 布尔津县| 七台河市| 巴青县| 潮州市| 松滋市| 临湘市| 合肥市| 乐东| 来宾市| 彝良县| 普安县| 营山县| 丰城市| 元朗区| 化隆| 鹤岗市|