JDK8到JDK12各個版本的重要特性整理

JDK8新特性

一、Lambda表達式編程

二、函數式編程安全

三、接口能夠添加默認方法和靜態方法,也就是定義不須要實現類實現的方法框架

四、方法引用函數式編程

五、重複註解,同一個註解可使用屢次函數

六、引入Optional來避免空指針優化

七、引入Streams相關的API命令行

八、引入新的Date/Time相關的API線程

九、新增jdeps命令行,來分析類、目錄、jar包的類依賴層級關係指針

十、JVM使用MetaSpace代替了永久代(PermGen Space)接口

JDK9新特性

一、接口方法可使用private來修飾

二、設置G1爲JVM默認垃圾收集器

三、支持http2.0的API

JDK10新特性

一、局部變量類型推斷,相似JS能夠經過var來修飾局部變量,編譯以後會推斷出值的真實類型

二、並行Full GC,來優化G1的延遲

三、容許在不執行全局VM安全點的狀況下執行線程回調,能夠中止單個線程,而不須要中止全部線程或不中止線程

JDK11新特性

一、ZGC,ZGC能夠看作是G1之上更細粒度的內存管理策略。因爲內存的不斷分配回收會產生大量的內存碎片空間,所以須要整理策略防止內存空間碎片化,在整理期間須要將對於內存引用的線程邏輯暫停,這個過程被稱爲"Stop the world"。只有當整理完成後,線程邏輯才能夠繼續運行。(並行回收)

二、Flight Recorder(飛行記錄器),基於OS、JVM和JDK的事件產生的數據收集框架

JDK12新特性

一、Shenandoah GC

二、Switch 表達式表達式

三、G1收集器的優化

相關文章
相關標籤/搜索