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