Java學(xué)習(xí)26:JDK14新特性

2020年3月17日,Oracle公司正式發(fā)布了JDK14席舍。共新增了16項(xiàng)新特性。

新的語言特性

新的語言特性有7項(xiàng)哮笆,包括3項(xiàng)正式特性與4項(xiàng)非正式特性来颤。

switch表達(dá)式(JEP361)

switch1.png
switch2.png
switch3.png

友好的空指針異常(JEP358)

image.png

早期的JDK運(yùn)行后提示空指針異常:java.lang.NullPointerException at Test02NullPointerException .main( Test02NullPointerException .java:7)
無法確定是到底car為空還是engine為空

在JDK14版本中,開啟參數(shù)
-XX:ShowCodeDetailsInExceptionMessages
可以更好的指定哪個(gè)底放出現(xiàn)異常

非易失性映射字節(jié)緩沖區(qū)(JEP352)

在JDK14中稠肘,新增了特地給JDK的文件映射模式福铅,可以使用FileChannel創(chuàng)建引用非易失性存儲(chǔ)器的MappedByteBuffer。

record(JEP359)

record提供了一種緊湊的語法來聲明類项阴,這是Preview預(yù)覽功能滑黔。
record可以看作是一種新的類型,類似于枚舉环揽,只需要使用record定義名稱及它的屬性即可略荡,如:
record Person(String name,int age){}
系統(tǒng)會(huì)自動(dòng)生成Person的標(biāo)準(zhǔn)的成員:
Person 中每個(gè)屬性都定義為private final 修飾的字段。
每個(gè)屬性都提供公共的getter方法歉胶。
有一個(gè)公共構(gòu)造方法撞芍,構(gòu)造方法簽名與聲明相同,即 Person(String name,int age)
會(huì)生成equals()/hashCode()方法的實(shí)現(xiàn)
會(huì)生成toString()方法的重寫

注意:record 不能繼承跨扮,record類隱含是final類即也不能被繼承序无。

編譯:java -enable-preview -source 14 類名.java
運(yùn)行:java -enable-preview 類名

instanceof模式匹配(JEP305)

在JDK14中,通過對(duì)instanceof運(yùn)算符進(jìn)行模式匹配來增強(qiáng)java語言衡创,這是Preview預(yù)覽功能帝嗡。

早期.png
JDK14.png

文本塊(JEP368)

在JDK13中引入了文本塊的預(yù)覽,在JDK14中進(jìn)行二次預(yù)覽璃氢,為了更方便的對(duì)HTML哟玷,XML,JSON一也,SQL這些字符串進(jìn)行更好的閱讀和維護(hù)巢寡。

文本塊.png

外部存儲(chǔ)器API(JEP370)

外部存儲(chǔ)器API主要包含三個(gè)類:
MemorySegment
MemoryAddress
MemoryLayout

該功能是作為孵化器模塊引入的,為了讓更多的Java社區(qū)的人員參與測(cè)試與反饋椰苟。

垃圾回收修改

G1的NUMA內(nèi)存分配優(yōu)化(JEP345)

non-uniform memory access 非統(tǒng)一的內(nèi)存訪問

JFR事件流(JEP349)

JDK flight Recorder

移除CMS垃圾收集器(JEP363)

棄用Parallel Scavenge和Serial Old垃圾收集算法(JEP366)

MacOS系統(tǒng)上的ZGC實(shí)驗(yàn)(JEP364)

Windows系統(tǒng)上的ZGC實(shí)驗(yàn)(JEP365)

移除包和功能

棄用Solaris和SPARC端口(JEP362)

移除Pack200(JEP367)

添加了一些工具

打包工具(JEP343)

想創(chuàng)建一個(gè)用于打包的獨(dú)立的java工具抑月,處于孵化階段。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末舆蝴,一起剝皮案震驚了整個(gè)濱河市谦絮,隨后出現(xiàn)的幾起案子题诵,更是在濱河造成了極大的恐慌,老刑警劉巖层皱,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件性锭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡叫胖,警方通過查閱死者的電腦和手機(jī)草冈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓮增,“玉大人疲陕,你說我怎么就攤上這事《ち蓿” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵携茂,是天一觀的道長(zhǎng)你踩。 經(jīng)常有香客問我,道長(zhǎng)讳苦,這世上最難降的妖魔是什么带膜? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮鸳谜,結(jié)果婚禮上膝藕,老公的妹妹穿的比我還像新娘。我一直安慰自己咐扭,他們只是感情好芭挽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蝗肪,像睡著了一般袜爪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薛闪,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天辛馆,我揣著相機(jī)與錄音,去河邊找鬼豁延。 笑死昙篙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诱咏。 我是一名探鬼主播苔可,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼袋狞!你這毒婦竟也來了硕蛹?” 一聲冷哼從身側(cè)響起醇疼,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎法焰,沒想到半個(gè)月后秧荆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡埃仪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年乙濒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卵蛉。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡颁股,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出傻丝,到底是詐尸還是另有隱情甘有,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布葡缰,位于F島的核電站亏掀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泛释。R本人自食惡果不足惜滤愕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怜校。 院中可真熱鬧间影,春花似錦、人聲如沸茄茁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裙顽。三九已至随橘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锦庸,已是汗流浹背机蔗。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留甘萧,地道東北人萝嘁。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像扬卷,于是被迫代替她去往敵國和親牙言。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容