国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Java 18可以期待什么

2021-12-18 20:38李顏
計算機(jī)與網(wǎng)絡(luò) 2021年20期
關(guān)鍵詞:數(shù)組源代碼矢量

李顏

近日,Java官方團(tuán)隊正式發(fā)布了Java 17,其被稱為史上最快,是因為OptaPlanner網(wǎng)站做了一項基準(zhǔn)測試,平均而言,以O(shè)ptaPlanner為例的基準(zhǔn)測試結(jié)果表明:

對于G1GC(默認(rèn)),Java 17比Java 11快8.66 %,比Java 16快2.41 %;

對于ParallelGC,Java 17比Java 11快6.54 %,比Java 16快0.37 %;

Parallel GC比G1 GC快16.39 %。

既然Java 17已經(jīng)是史上最快了,那么,Java18還有哪些可以期待的呢?

與此同時,Java 18也已經(jīng)進(jìn)入早期開發(fā)階段。Java 18將作為標(biāo)準(zhǔn)Java版本的參考計劃在明年3月發(fā)布,當(dāng)下已經(jīng)提出了孵化矢量API、預(yù)覽記錄模式和數(shù)組模式,以及采用UTF-8作為默認(rèn)字符集的建議。

離正式發(fā)布Java 18還有6個月時間,但它已經(jīng)初具形態(tài),預(yù)計有4個功能提案,最新的是對矢量API的第三次孵化。截至9月20日,Java開發(fā)工具包(JDK)18的OpenJDK頁面列出了矢量API、代碼片段和UTF-8字符集。JEP也引用了JDK 18的記錄模式和數(shù)組模式的提議。

預(yù)計在2022年3月發(fā)布的JDK 18將是一個短期功能版本,支持時間僅為6個月??梢栽贘ava.net上找到適用于Linux、Windows和MacOS的JDK 18早期訪問版本。

關(guān)于JDK 18提案的細(xì)節(jié)包括:

1.矢量API將在JDK 18中進(jìn)行第三次孵化,之前已經(jīng)在JDK 16和JDK 17中孵化過。這項提議將在運(yùn)行時編譯為支持的CPU架構(gòu)上的最佳矢量指令,從而實現(xiàn)優(yōu)于等效標(biāo)量計算的性能。矢量運(yùn)算表達(dá)了一定程度的并行化,使更多的工作可以在單個CPU周期內(nèi)完成,從而產(chǎn)生顯著的性能改進(jìn)。與平臺無關(guān)的矢量API旨在提供一種在Java中編寫復(fù)雜算法的方法,使用現(xiàn)有的HotSpot虛擬機(jī),但使用用戶模型使矢量化更具可預(yù)測性。JDK 18還將增加對ARM標(biāo)量向量擴(kuò)展平臺的支持,并提高在支持硬件掩碼的架構(gòu)上接受掩碼的向量操作的性能。

2.記錄模式和數(shù)組模式的預(yù)覽。其中將使用記錄模式和數(shù)組模式對Java語言進(jìn)行增強(qiáng),以解析記錄值,并使用數(shù)組模式解析數(shù)組值。JDK 16中所包含的記錄模式、數(shù)組模式和類型模式可以被嵌套,從而顯著增強(qiáng)模式匹配的表現(xiàn)性和實用性。提案的目標(biāo)包括擴(kuò)展模式匹配,以表達(dá)更復(fù)雜、可組合的數(shù)據(jù)查詢,并且不改變類型模式的語法或語義。

3.將UTF-8指定為標(biāo)準(zhǔn)Java APIs的默認(rèn)字符集。UTF-8是一種用于電子通信的可變范圍的字符編碼,被認(rèn)為是網(wǎng)絡(luò)的標(biāo)準(zhǔn)字符集,字符集是能夠?qū)W(wǎng)絡(luò)上的所有字符進(jìn)行編碼。通過此更改,依賴于默認(rèn)字符集的API將在所有的實現(xiàn)、操作系統(tǒng)、地區(qū)和配置中表現(xiàn)一致。該提議并不打算定義新的Java標(biāo)準(zhǔn)或JDK特定的API。支持者們認(rèn)為,許多環(huán)境中的應(yīng)用程序不會受到Java選擇UTF-8的影響,因為MacOS、許多Linux發(fā)行版和許多服務(wù)器應(yīng)用程序已經(jīng)支持UTF-8。然而,在其他環(huán)境中存在風(fēng)險。最明顯的是依賴默認(rèn)字符集的應(yīng)用程序在處理默認(rèn)字符集未被指定時,產(chǎn)生的數(shù)據(jù)將表現(xiàn)得不正確,數(shù)據(jù)損壞可能會悄悄發(fā)生。

4. Java API文檔中的代碼片段,涉及為JavaDoc的標(biāo)準(zhǔn)Doclet引入@snippet標(biāo)簽,以簡化API文檔中的示例源代碼。該計劃的目標(biāo)之一是通過提供對這些片段的API訪問來促進(jìn)源代碼片段的驗證。雖然正確性是作者的責(zé)任,但在JavaDoc和相關(guān)工具中加強(qiáng)支持可以使其更容易實現(xiàn)。其他目標(biāo)包括啟用現(xiàn)代樣式,如語法突出顯示,、稱與聲明的自動鏈接,以及啟用更好的IDE支持來創(chuàng)建和編輯代碼段。該提案指出,API文檔的作者經(jīng)常在文檔注釋中包含源代碼的片段。

猜你喜歡
數(shù)組源代碼矢量
JAVA稀疏矩陣算法
基于TXL的源代碼插樁技術(shù)研究
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
物理矢量和標(biāo)量學(xué)習(xí)中需要厘清的幾個問題
力的矢量性的一個例子
更高效用好 Excel的數(shù)組公式
保護(hù)好自己的“源代碼”
解密別克安全“源代碼”
三角形法則在動態(tài)平衡問題中的應(yīng)用
尋找勾股數(shù)組的歷程