JDK 12又來了,我學不動了...


寫在前面

看到 JDK 12又發佈了,萌新不知不覺感受瑟瑟發抖,從 Java 1.8的函數式編程思惟和範式 到 Java 1.9的模塊化特性的加持 以及還沒來得及深切感覺一下 Java 1.11 的 ZGC強大以後,此次JDK 12到底有搞了些啥事情呢?我真的學不動了,我該怎麼辦呢?java

無論怎樣,下面仍是來看一下JDK 12的新特性解(fan)讀(yi)吧!算法

長按掃描 下面的 當心心 來訂閱做者公衆號 CodeSheep,獲取更多 務實、能看懂、可復現的 原創文 ↓↓↓express

CodeSheep · 程序羊


低暫停延時的垃圾收集器 (實驗版)

A Low-Pause-Time Garbage Collector (Experimental)編程

添加一個名爲 Shenandoah的新垃圾收集 (GC)算法,該算法經過與正在運行的 Java線程併發執行回收工做來減小 GC暫停時間。Shenandoah的暫停時間與堆大小無關,這意味着不管堆大小是 200MB 仍是 200GB,都將擁有相同的暫停時間。併發


微基準測試套件

Microbenchmark Suite模塊化

在 JDK源代碼中添加了一組基本的微基準測試套件,使得開發人員不管運行現有的微基準測試或者建立新的微基準測試都變得十分便利。函數式編程


Switch 表達式 (預覽版)

Switch Expressions (Preview)函數

這是一個預覽版語言特性。經過對 switch語法進行了擴展,使其不只能夠做爲語句(statement),還能夠做爲表達式(expression),而且兩種形式均可以使用「傳統的」或「簡化的」語法用於做用於不一樣的範圍或者控制執行流。這些更改將會簡化平常編碼,而且爲在 switch中使用模式匹配 (JEP 305) 作好了準備。學習


JVM 常量API

JVM Constants API測試

引入一個API來建模關鍵類文件(key class-file)和運行時構件(run-time artifacts)的標稱描述,特別是對那些可從常量池加載的常量。


僅保留 AArch64 實現

One AArch64 Port, Not Two

刪除與 arm64實現相關的全部源代碼,同時保留 32-bit ARM和 64-bit aarch64實現。刪除這些實現是爲了讓全部代碼貢獻者集中精力於一個實現上,從而消除維護兩個實現所需付出的重複工做。


默認類數據共享歸檔文件

Default CDS Archives

加強 JDK構建過程,在 64位平臺上使用默認的類列表生成類數據共享(class data-sharing,CDS)存檔。


可中斷的 G1 Mixed GC

Abortable Mixed Collections for G1

若是 Mixed GC 的 G1 存在超出暫停目標的可能性,則使其可被停止。


G1未使用分配內存即時返回

Promptly Return Unused Committed Memory from G1

加強 G1垃圾收集器,以便在空閒時自動將 Java 堆內存返回給操做系統。


參考文獻


後 記

啥都不說了,JDK 13您慢點出吧,快要掉隊了,我跟不上了...

因爲能力有限,如有錯誤或者不當之處,還請你們批評指正,一塊兒學習交流!

相關文章
相關標籤/搜索