【本人禿頂程式設計師】Java 12釋出倒計時已經開始:以下是所有計劃新功能的列表
←←←←←←←←←←←← 快!點關注
Java 12現在處於Release Candidate階段,這意味著倒計時已經開始!Java 12將於3月19日釋出,所以是時候看看* all *計劃的新功能了。
Shenandoah:一個低暫停時間垃圾收集器(實驗)
http://openjdk.java.net/jeps/189
新增一個名為Shenandoah的新垃圾收集(GC)演算法,通過與正在執行的Java執行緒同時進行疏散工作來減少GC暫停時間。使用Shenandoah的暫停時間與堆大小無關,這意味著無論堆是200 MB還是200 GB,您都將具有相同的一致暫停時間。
Microbenchmark Suite
http://openjdk.java.net/jeps/230
在JDK原始碼中新增一套基本的微基準測試,使開發人員可以輕鬆執行現有的微基準測試並建立新的基準測試。
切換表示式(預覽)
http://openjdk.java.net/jeps/325
擴充套件switch語句,以便它可以用作語句或表示式,並且兩個表單都可以使用“傳統”或“簡化”作用域和控制流行為。這些更改將簡化日常編碼,併為在switch中使用模式匹配(JEP 305)做好準備。這將是一種預覽語言功能。
JVM常量API
http://openjdk.java.net/jeps/334
引入API來模擬關鍵類檔案和執行時工件的名義描述,特別是可從常量池載入的常量。
一個AArch64埠,而不是兩個
http://openjdk.java.net/jeps/340
刪除與arm64埠相關的所有源,同時保留32位ARM埠和64位aarch64埠。
預設CDS檔案
http://openjdk.java.net/jeps/341
在64位平臺上使用預設類列表增強JDK構建過程以生成類資料共享(CDS)歸檔。
G1的可流動混合收集
http://openjdk.java.net/jeps/344
如果G1混合收集時間可能超過暫停時間目標,則使其可以中止。
立即從G1返回未使用的承諾記憶體
http://openjdk.java.net/jeps/346
增強G1垃圾收集器,以便在空閒時自動將Java堆記憶體返回給作業系統。
沒有用於Java 12的原始字串文字
應該注意的是,Raw String Literals
(https://jaxenter.com/jdk-12-patrol-jeps-149057.html
)功能是從Java 12中撤回的。
儘管如此,關於功能及其功能的對話仍在繼續。就在上個月,Brian Goetz重新點燃了關於原始字串文字的討論,並在郵件列表中添加了一條新訊息,涉及了許多主題,包括過程錯誤,其他語言如何處理原始字串應該是接下來的步驟。
請務必檢視訊息
(https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-January/000931.html
)以獲取所有詳細資訊。
看看Java 13
我們距離Java 12的普遍可用性僅一個月,但現在是時候向前邁進了!Java 13的開發儲存庫現已開放。最重要的是,已經有兩個JEP候選人:
用於JDK API的Java編譯器內在函式
https://openjdk.java.net/jeps/348
簡介:使Java編譯器能夠使用備用轉換策略,例如invokedynamic,以提高指定為編譯器內部候選者的某些JDK方法的效能。具體來說,內化了String::format 和的呼叫Objects::hash。
目標:使JDK開發人員能夠(i)將方法標記為編譯時內在化的候選者,以及(ii)描述符合候選方法規範的內在化候選者的適當替代翻譯。
JFR事件流
https://openjdk.java.net/jeps/349
摘要:公開JDK Flight Recorder資料以進行連續監視。
目標:
- 提供用於在磁碟上連續使用JFR資料的API,包括程序內和程序外應用程式。
- 記錄與nonstreaming.case中相同的事件集,如果可能,開銷小於1%。
- 事件流必須能夠與非流式記錄共存,包括磁碟和基於記憶體。