JDK12新版特性
1、Switch 表達(dá)式
使用Java 12,switch不僅可以作為語句也可以作為表達(dá)式。 無論作為語句或者作為表達(dá)式,switch都可以使用傳統(tǒng)/簡化的作用域和控制流行為。 這將有助于簡化代碼,并為在switch中使用模式匹配鋪平道路。
Java開發(fā)人員正在增強(qiáng)Java編程語言,以使用模式匹配來解決當(dāng)前switch語句的幾個問題。 這包括:switch塊的默認(rèn)控制流行為,switch塊默認(rèn)作用域(被視為單個作用域的塊)和switch僅作為語句。
在Java 11中,switch語句追隨C和C++,默認(rèn)情況下使用fall-through語義。 雖然傳統(tǒng)的控制流程在編寫低級代碼時很有用,但隨著switch在更高級別的環(huán)境中采用,易出錯會蓋過其靈活性。
2、默認(rèn)CDS歸檔
通過在64位平臺上的默認(rèn)類列表的幫助下生成CDS歸檔來改進(jìn)JDK構(gòu)建過程,從而有效地消除了運(yùn)行java -Xshare:dump。 此功能的目標(biāo)包括:1。)改進(jìn)開箱即用的啟動時間,以及2.)擺脫使用-Xshare:dump。
3、Shenandoah GC
Shenandoah是一種垃圾收集(GC)算法,旨在保證低延遲(10 - 500 ms的下限)。 它通過在運(yùn)行Java工作線程的同時執(zhí)行GC操作減少GC暫停時間。 使用Shenandoah,暫停時間不依賴于堆的大小。 這意味著無論堆的大小如何,暫停時間都是差不多的。
這是一個實(shí)驗性功能,不包含在默認(rèn)(Oracle)的OpenJDK版本中。
4、JMH 基準(zhǔn)測試
jdk12為JDK源代碼添加了一套微基準(zhǔn)測試(大約100個),簡化了現(xiàn)有微基準(zhǔn)測試的運(yùn)行和新基準(zhǔn)測試的創(chuàng)建過程。 它基于Java Microbenchmark Harness(JMH)并支持JMH更新。
此功能使開發(fā)人員可以輕松運(yùn)行當(dāng)前的微基準(zhǔn)測試并為JDK源代碼添加新的微基準(zhǔn)測試。 可以基于Java Microbenchmark Harness(JMH)輕松測試JDK性能。 它將支持JMH更新,并在套件中包含一組(約100個)基準(zhǔn)測試。
5、JVM 常量 API
JEP 334引入了一個API,用于建模關(guān)鍵類文件和運(yùn)行時artifacts,例如常量池。 此API將包括ClassDesc,MethodTypeDesc,MethodHandleDesc和DynamicConstantDesc等類。此 API 對于操作類和方法的工具很有幫助。
6、G1的可中斷 mixed GC
此功能通過將Mixed GC集拆分為強(qiáng)制部分和可選部分,使G1垃圾收集器更有效地中止垃圾收集過程。通過允許垃圾收集過程優(yōu)先處理強(qiáng)制集,g1可以更多滿足滿足暫停時間目標(biāo)。
G1是一個垃圾收集器,設(shè)計用于具有大量內(nèi)存的多處理器機(jī)器。由于它提高了性能效率,g1垃圾收集器最終將取代cms垃圾收集器。
G1垃圾收集器的主要目標(biāo)之一是滿足用戶設(shè)置的暫停時間。G1采用一個分析引擎來選擇在收集期間要處理的工作量。此選擇過程的結(jié)果是一組稱為GC集的區(qū)域。一旦GC集建立并且GC已經(jīng)開始,那么G1就無法停止。
如果G1發(fā)現(xiàn)GC集選擇選擇了錯誤的區(qū)域,它會將GC區(qū)域的拆分為兩部分(強(qiáng)制部分和可選部分)來切換到處理Mix GC的增量模式。如果未達(dá)到暫停時間目標(biāo),則停止對可選部分的垃圾收集。
7、G1歸還不使用的內(nèi)存
此功能的主要目標(biāo)是改進(jìn)G1垃圾收集器,以便在不活動時將Java堆內(nèi)存歸還給操作系統(tǒng)。 為實(shí)現(xiàn)此目標(biāo),G1將在低應(yīng)用程序活動期間定期生成或持續(xù)循環(huán)檢查完整的Java堆使用情況。
這將立即歸還未使用的部分Java堆內(nèi)存給操作系統(tǒng)。 用戶可以選擇執(zhí)行FULL GC以最大化返回的內(nèi)存量。
8、移除多余ARM64實(shí)現(xiàn)
jdk12將只有一個ARM 64位實(shí)現(xiàn)(aarch64)。 目標(biāo)是刪除所有與arm64實(shí)現(xiàn)相關(guān)的代碼,同時保留32位ARM端口和64位aarch64實(shí)現(xiàn)。
這將把重點(diǎn)轉(zhuǎn)移到單個64位ARM實(shí)現(xiàn),并消除維護(hù)兩個實(shí)現(xiàn)所需的重復(fù)工作。 當(dāng)前的JDK 11實(shí)現(xiàn)中有兩個64位ARM實(shí)現(xiàn)。
JDK12基本組件
javac – 編譯器,將源程序轉(zhuǎn)成字節(jié)碼
jar – 打包工具,將相關(guān)的類文件打包成一個文件
javadoc – 文檔生成器,從源碼注釋中提取文檔
jdb – debugger,查錯工具
java – 運(yùn)行編譯后的java程序(.class后綴的)
appletviewer:小程序瀏覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器。
Javah:產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件。
Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義。
Jconsole: Java進(jìn)行系統(tǒng)調(diào)試和監(jiān)控的工具
jdk結(jié)構(gòu)圖
JDK12安裝步驟
1.在華軍軟件園下載JDK12官方版的安裝包,解壓后,雙擊exe程序,進(jìn)入安裝向?qū)?,單擊下一?
2.點(diǎn)擊“更改”選擇安裝文件夾,一般默認(rèn)安裝在電腦C盤,推薦安裝在D盤,單擊下一步
3.軟件正在安裝,請耐心等待
4.JDK12安裝完成,單擊關(guān)閉退出安裝向?qū)?
JDK12更新日志
1.將bug掃地出門進(jìn)行到底
2.有史以來最穩(wěn)定版本
華軍小編推薦:
童鞋們,JDK12絕對能滿足親們的需求,從軟件界面到軟件功能,絕對讓人眼前一亮,歡迎大家前來下載使用!本站還有類似軟件快表軟件、AlphaEbot動作編輯軟件、自動化測試工具AutoRunner、Easy GUI、小海龜LOGO語言!
您的評論需要經(jīng)過審核才能顯示
有用
有用
有用