JDK8到JDK21新特性合集筆記

JDK8到JDK21新特性合集筆記

  • springboot3.0依賴(lài)JDK17以及Spring6.0為基礎(chǔ)。
  • LTS(長(zhǎng)期支持版本):8,11,17,21
  • ParallelGC——G1GC——ZGC(GC方向)
image.png

如何學(xué)習(xí)新特性

  • 語(yǔ)法層面,新的語(yǔ)法規(guī)則
  • API層面,增刪新的API
  • 底層優(yōu)化,JVM,GC的調(diào)整變化

JDK8新特性

  • Lambda表達(dá)式
  • Stream API流
image.png
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

JDK9新特性

  • jshell命令
  • try-catch資源關(guān)閉優(yōu)化,提高代碼可讀性
  • String存儲(chǔ)由char[]數(shù)組改成byte[]數(shù)組加編碼標(biāo)記存儲(chǔ),節(jié)約一點(diǎn)空間。
  • JDK9以后默認(rèn)的垃圾回收器是G1GC,之前是Parallel GC.
  • CMS在JDK9被標(biāo)記為過(guò)時(shí)。
image.png

image.png

JDK7資源關(guān)閉寫(xiě)法


image.png

image.png

image.png

JDK9 流定義在外面


image.png

image.png

JDK10新特性

  • 局部變量的類(lèi)型推斷。本質(zhì)就是通過(guò)類(lèi)型推斷來(lái)用var實(shí)現(xiàn)簡(jiǎn)寫(xiě)。
image.png

image.png

JDK11新特性

  • 簡(jiǎn)化編譯運(yùn)行,直接使用java即可編譯運(yùn)行。

JDK12新特性

  • Shenandoah GC:低停頓時(shí)間的GC.
  • ZGC:低停頓。

JDK14新特性

  • instanceof 語(yǔ)法糖。省略代碼

  • switch 表達(dá)式。

    • 注意JDK17有switch模型匹配新特性。
  • 三個(gè)雙引號(hào)表示文本塊使用,方便閱讀。

  • Record聲明類(lèi),類(lèi)似與加了Lombok @Data注解,但是Record聲明的類(lèi)是不可變的,且被final修飾。

  • 密封類(lèi),介于final修飾的類(lèi)與沒(méi)有被final修飾的類(lèi)之間,可以指定部分類(lèi)可以繼承。

  • String實(shí)現(xiàn)了Constable接口,體現(xiàn)String是常量。

  • ZGC轉(zhuǎn)正:-XX:+UseZGC

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

文本塊
image.png

Record
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

JDK17新特性

  • 刪除Applet API ,不再支持客戶(hù)端代碼。

  • switch語(yǔ)句增強(qiáng)

  • 文本塊增強(qiáng),變量替換還是要用Stream.format處理

  • instanceof 語(yǔ)法糖增強(qiáng)

  • 密封類(lèi)Sealed Classs.(也就是限制繼承類(lèi) )

    • 更加安全、可控。可以限制子類(lèi)的繼承,避免不必要的繼承;且限制只能在同包下繼承,更易于維護(hù)。
  • Record類(lèi),類(lèi)似于Lombok的屬性只讀不可變對(duì)象。

  • 優(yōu)化空指針異常信息??罩羔槷惓r(shí)會(huì)告訴我們是哪一行哪一個(gè)對(duì)象空指針了。

  • ZGC垃圾收集器正式轉(zhuǎn)正,低停頓垃圾收集器。

    • -XX:+UseZGC
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

JDK21新特性

  • 虛擬線(xiàn)程。 解決線(xiàn)程頻繁切換的問(wèn)題,并且提高并發(fā)量。
  • 順序集合。統(tǒng)一集合的添加獲取和移除方法操作。
  • 過(guò)時(shí)windows 32位系統(tǒng)的支持。
  • ZGC的分代收集。
  • switch模式匹配
  • Record模式匹配,也是語(yǔ)法糖
  • KEM非對(duì)稱(chēng)加密API
image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

總結(jié)

image.png

參考

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容