網友評分:
5分
jdk12帶來了一些增強功能,包括增強的switch語句,增強的垃圾收集器功能,支持微基準測試,支持默認的類數據共享等等,其中增強的switch語句不僅可以作為語句也可以作為表達式,無論作為語句或者作為表達式,switch都可以使用傳統/簡化的作用域和控制流行為,這將有助于簡化代碼,并為在switch中使用模式匹配鋪平道路,而jdk12中添加了一套微基準測試,大約100個,這簡化了現有微基準測試的運行和新基準測試的創建過程。

1、【Switch 表達式】
使用Java 12,switch不僅可以作為語句也可以作為表達式。 無論作為語句或者作為表達式,switch都可以使用傳統/簡化的作用域和控制流行為。 這將有助于簡化代碼,并為在switch中使用模式匹配鋪平道路。
Java開發人員正在增強Java編程語言,以使用模式匹配來解決當前switch語句的幾個問題。 這包括:switch塊的默認控制流行為,switch塊默認作用域(被視為單個作用域的塊)和switch僅作為語句。
在Java 11中,switch語句追隨C和C++,默認情況下使用fall-through語義。 雖然傳統的控制流程在編寫低級代碼時很有用,但隨著switch在更高級別的環境中采用,易出錯會蓋過其靈活性。
2、【默認CDS歸檔】
通過在64位平臺上的默認類列表的幫助下生成CDS歸檔來改進JDK構建過程,從而有效地消除了運行java -Xshare:dump。 此功能的目標包括:1。)改進開箱即用的啟動時間,以及2.)擺脫使用-Xshare:dump。
3、【Shenandoah GC】
Shenandoah是一種垃圾收集(GC)算法,旨在保證低延遲(10 - 500 ms的下限)。 它通過在運行Java工作線程的同時執行GC操作減少GC暫停時間。 使用Shenandoah,暫停時間不依賴于堆的大小。 這意味著無論堆的大小如何,暫停時間都是差不多的。
這是一個實驗性功能,不包含在默認(Oracle)的OpenJDK版本中。
4、【JMH 基準測試】
jdk12為JDK源代碼添加了一套微基準測試(大約100個),簡化了現有微基準測試的運行和新基準測試的創建過程。 它基于Java Microbenchmark Harness(JMH)并支持JMH更新。
此功能使開發人員可以輕松運行當前的微基準測試并為JDK源代碼添加新的微基準測試。 可以基于Java Microbenchmark Harness(JMH)輕松測試JDK性能。 它將支持JMH更新,并在套件中包含一組(約100個)基準測試。

5、【JVM 常量 API】
JEP 334引入了一個API,用于建模關鍵類文件和運行時artifacts,例如常量池。 此API將包括ClassDesc,MethodTypeDesc,MethodHandleDesc和DynamicConstantDesc等類。此 API 對于操作類和方法的工具很有幫助。
6、【G1的可中斷 mixed GC】
此功能通過將Mixed GC集拆分為強制部分和可選部分,使G1垃圾收集器更有效地中止垃圾收集過程。通過允許垃圾收集過程優先處理強制集,g1可以更多滿足滿足暫停時間目標。
G1是一個垃圾收集器,設計用于具有大量內存的多處理器機器。由于它提高了性能效率,g1垃圾收集器最終將取代cms垃圾收集器。
G1垃圾收集器的主要目標之一是滿足用戶設置的暫停時間。G1采用一個分析引擎來選擇在收集期間要處理的工作量。此選擇過程的結果是一組稱為GC集的區域。一旦GC集建立并且GC已經開始,那么G1就無法停止。
如果G1發現GC集選擇選擇了錯誤的區域,它會將GC區域的拆分為兩部分(強制部分和可選部分)來切換到處理Mix GC的增量模式。如果未達到暫停時間目標,則停止對可選部分的垃圾收集。
7、【G1歸還不使用的內存】
此功能的主要目標是改進G1垃圾收集器,以便在不活動時將Java堆內存歸還給操作系統。 為實現此目標,G1將在低應用程序活動期間定期生成或持續循環檢查完整的Java堆使用情況。
這將立即歸還未使用的部分Java堆內存給操作系統。 用戶可以選擇執行FULL GC以最大化返回的內存量。
8、【移除多余ARM64實現】
jdk12將只有一個ARM 64位實現(aarch64)。 目標是刪除所有與arm64實現相關的代碼,同時保留32位ARM端口和64位aarch64實現。
這將把重點轉移到單個64位ARM實現,并消除維護兩個實現所需的重復工作。 當前的JDK 11實現中有兩個64位ARM實現。
129.16M
149.59M
69.27M
59.4M
43.44M
134.38M
158.4M
358.7M
151.78M
390.07M
Visual Studio Code(微軟代碼編輯器) V1.117.0 官方版
150.7M / 簡體中文 /9.7
Notepad++ V8.9.3 官方最新版
6.49M / 多國語言 /5.7
核桃編程電腦版 V3.2.37.0 官方版
606.08M / 簡體中文 /8.3
猿編程PC版 V5.20.0 官方版
239M / 簡體中文 /8.2
TeXstudio(latex編輯器) V4.9.3 官方版
129.81M / 英文 /7.6
python for windows(python編程開發工具) V3.14.4 官方最新版
28.66M / 英文 /7