溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java12的八大新特性是什么

發(fā)布時間:2021-12-14 16:33:29 來源:億速云 閱讀:151 作者:iii 欄目:大數(shù)據(jù)

本篇內容主要講解“Java12的八大新特性是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java12的八大新特性是什么”吧!

1、Shenandoah:低暫停時間的 GC(實驗性功能)

新增了一個名為 Shenandoah 的 GC 算法,通過與正在運行的 Java 線程同時進行 evacuation 工作來減少 GC 暫停時間。使用 Shenandoah 的暫停時間與堆大小無關,這意味著無論堆是 200 MB 還是 200 GB,都將具有相同的暫停時間。

2、微基準測試套件

JDK 源碼中新增了一套微基準測試套件,使開發(fā)人員可以輕松運行現(xiàn)有的微基準測試并創(chuàng)建新的基準測試。

3、Switch 表達式(預覽功能)

擴展了 switch 語句,使其不僅可以作為語句(statement),還可以作為表達式(expression),并且兩種寫法都可以使用傳統(tǒng)的 switch 語法,或者使用簡化的“case L ->”模式匹配語法作用于不同范圍并控制執(zhí)行流。這些更改將簡化日常編碼工作,并為 switch 中的模式匹配(JEP 305)做好準備。

4、JVM 常量 API

引入 API 對關鍵類文件和運行時工件建模,特別是可從常量池加載的常量。在新的 java.lang.invoke.constant 包中定義了一系列基于值的符號引用(JVMS 5.1)類型,它們能夠描述每種可加載常量。

符號引用以純 nominal 形式描述可加載常量,與類加載或可訪問性上下文區(qū)分開。有些類可以作為自己的符號引用(例如 String),而對于可鏈接常量,定義了一系列符號引用類型(ClassDesc、MethodTypeDesc、MethodHandleDesc 和 DynamicConstantDesc),它們包含描述這些常量的 nominal 信息。

5、只保留一個 AArch74 實現(xiàn)

刪除了與 arm64 相關的所有源,同時保留 32 位 ARM 實現(xiàn)和 64 位 aarch74。

JDK 中存在兩套 64 位 ARM 實現(xiàn),主要存在于 src/hotspot/cpu/arm 和 open/src/hotspot/cpu/aarch74 目錄。兩者都實現(xiàn)了 aarch74,現(xiàn)在將只保留后者,刪除由 Oracle 提供的 arm64。這將使貢獻者將他們的精力集中在單個 64 位 ARM 實現(xiàn)上,并消除維護兩套實現(xiàn)所需的重復工作。

6、默認類數(shù)據(jù)共享歸檔文件

針對 64 位平臺,使用默認類列表增強 JDK 構建過程以生成類數(shù)據(jù)共享(class data-sharing,CDS)檔。

7、可中止的 G1 Mixed GC

如果 G1 Mixed GC 存在超出暫停目標的可能性,則使其可中止。

8、G1 及時返回未使用的已分配內存

增強 G1 GC,在空閑時自動將 Java 堆內存返回給操作系統(tǒng)。為了實現(xiàn)向操作系統(tǒng)返回最大內存量的目標,G1 將在應用程序不活動期間定期執(zhí)行或觸發(fā)并發(fā)周期以確定整體 Java 堆使用情況。這將導致它自動將 Java 堆的未使用部分返回給操作系統(tǒng)。而在用戶控制下,可以可選地執(zhí)行完整的 GC,以使返回的內存量最大化。

到此,相信大家對“Java12的八大新特性是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI