JDK15:Java 15中的新功能展望

標(biāo)準(zhǔn)Java的下一版本將具有文本塊,垃圾收集器,隱藏的類以及模式匹配和記錄的預(yù)覽。
隨著Java 14于3月17日全面上市,將在2020年9月15日推出Java 15的后續(xù)產(chǎn)品。到目前為止,已經(jīng)計劃對該版本進(jìn)行八次正式更改。 另外兩個提案-加密簽名和記錄的第二個預(yù)覽-可能很快就會成為正式提案。
Java開發(fā)工具包(JDK)15為下一版本的Java SE(標(biāo)準(zhǔn)版)提供了基礎(chǔ)。 在9月全面上市之前,將在6月和7月進(jìn)行縮減階段,然后在8月發(fā)布兩個候選版本。
OpenJDK 15提案的詳細(xì)信息:
Records, 是充當(dāng)不可變數(shù)據(jù)的透明載體的類,將在JDK 14中作為早期預(yù)覽首次亮相后,將包含在JDK 15的第二個預(yù)覽版本中。該計劃的目標(biāo)包括設(shè)計一個表示對象的構(gòu)造,以表達(dá) 簡單的值聚合,幫助程序員專注于對不可變數(shù)據(jù)建模而不是擴(kuò)展行為,自動實現(xiàn)數(shù)據(jù)驅(qū)動的方法(例如equals和評估者),并保留長期的Java原則,例如標(biāo)稱類型和遷移兼容性。
基于愛德華茲曲線數(shù)字簽名算法(EdDSA)的密碼簽名。 EdDSA是一種現(xiàn)代的橢圓曲線方案,具有優(yōu)于JDK中現(xiàn)有簽名方案的優(yōu)勢。 EdDSA僅在SunEC提供者中實施。 與其他簽名方案相比,EdDSA具有更高的安全性和性能,因此需求旺盛。 加密庫(例如OpenSSL和BoringSSL)已經(jīng)支持該功能。
通過使用更簡單,更現(xiàn)代的實現(xiàn)來替換java.net.datagram.Socket和java.net.MulticastSocket API的基礎(chǔ)實現(xiàn),從而重新實現(xiàn)傳統(tǒng)的DatagramSocket API,該實現(xiàn)1.易于調(diào)試和維護(hù),并且2.可與當(dāng)前正在使用的虛擬線程一起使用 在Project Loom中進(jìn)行了探索。 新計劃是對JDK增強(qiáng)建議353的后續(xù),該建議重新實現(xiàn)了舊版Socket API。 java.net.datagram.Socket和java.net.MulticastSocket的當(dāng)前實現(xiàn)可以追溯到JDK 1.0,而IPv6仍在開發(fā)中。 因此,MulticastSocket的當(dāng)前實現(xiàn)嘗試以難以維護(hù)的方式協(xié)調(diào)IPv4和IPv6。
默認(rèn)情況下禁用偏向鎖定,并棄用所有相關(guān)的命令行選項。 目標(biāo)是確定是否需要繼續(xù)支持代價昂貴的,具有維護(hù)成本的有偏鎖定的傳統(tǒng)同步優(yōu)化,該優(yōu)化在HotSpot虛擬機(jī)中用于減少無競爭鎖定的開銷。 盡管某些Java應(yīng)用程序可能會在禁用偏置鎖定的情況下看到性能下降的趨勢,但是偏置鎖定的性能提升通常不如從前那樣明顯。
在JDK 14中的先前預(yù)覽之后,是instanceof的模式匹配的第二次預(yù)覽。模式匹配使程序中的通用邏輯(主要是從對象中有條件地提取組件)得以更簡潔地表達(dá)。 Haskell和C#等語言因其簡潔性和安全性而接受了模式匹配。
隱藏類,即不能被其他類的字節(jié)碼直接使用的類,是供在運行時生成類并通過反射間接使用它們的框架使用的。可以將隱藏類定義為訪問控制嵌套的成員,并且可以獨立于其他類進(jìn)行卸載。該提案將通過啟用標(biāo)準(zhǔn)API來定義無法發(fā)現(xiàn)且生命周期有限的隱藏類,從而提高JVM上所有語言的效率。 JDK內(nèi)部和外部的框架將能夠動態(tài)生成可以代替定義隱藏類的類。基于JVM構(gòu)建的許多語言都依靠動態(tài)類生成來提高靈活性和效率。該提案的目標(biāo)包括:允許框架將類定義為框架的不可發(fā)現(xiàn)的實現(xiàn)細(xì)節(jié),因此它們不能被其他類鏈接,也不能通過反射來發(fā)現(xiàn);支持使用不可發(fā)現(xiàn)的類擴(kuò)展訪問控制嵌套;并支持主動卸載不可發(fā)現(xiàn)的類,因此框架可以靈活地定義所需的數(shù)量。另一個目標(biāo)是棄用非標(biāo)準(zhǔn)API misc.Unsafe::defineAnonymousClass,以棄用將來的發(fā)行版。另外,由于此提議,Java語言也不會更改。
根據(jù)該提議,Z垃圾收集器(ZGC)將從實驗功能升級為產(chǎn)品。 ZGC已集成到2018年9月發(fā)布的JDK 11中,是一個可擴(kuò)展的低延遲垃圾回收器。 引入ZGC是一項實驗功能,因為Java的開發(fā)人員決定應(yīng)謹(jǐn)慎且逐步地引入這種規(guī)模和復(fù)雜性的功能。 從那時起,添加了許多改進(jìn),從并發(fā)類卸載,未使用內(nèi)存的未提交,對數(shù)據(jù)類共享的支持到改進(jìn)的NUMA感知和多線程堆預(yù)觸。 此外,最大堆大小已從4 TB增加到16 TB。 支持的平臺包括Linux,Windows和MacOS。
在JDK 14和JDK 13中都預(yù)覽過的文本塊旨在通過簡化表示跨幾行源代碼的字符串的表達(dá),同時避免在常見情況下的轉(zhuǎn)義序列,從而簡化了編寫Java程序的任務(wù)。 文本塊是一種多行字符串文字,它避免了大多數(shù)轉(zhuǎn)義序列的需要,以可預(yù)測的方式自動設(shè)置字符串格式,并在需要時為開發(fā)人員提供了對該格式的控制權(quán)。 文本塊建議的目標(biāo)是提高Java程序中字符串的可讀性,這些字符串表示用非Java語言編寫的代碼。 另一個目標(biāo)是通過規(guī)定任何新構(gòu)造都可以表示與字符串文字相同的字符串集,解釋相同的轉(zhuǎn)義序列并以與字符串文字相同的方式進(jìn)行操作來支持從字符串文字的遷移。 OpenJDK開發(fā)人員希望添加轉(zhuǎn)義序列來管理顯式空白和換行控件。
Shenandoah的低暫停時間垃圾收集器將成為生產(chǎn)功能并退出實驗階段。 一年前已將其集成到JDK中。
移除Nashorn,該功能于2014年3月在JDK 8中首次亮相,但此后已被諸如GraalVM之類的技術(shù)淘汰。 OpenJDK 15提案要求刪除Nashorn API和用于調(diào)用Nashorn的jjs命令行工具。
到此這篇關(guān)于Java 15中的新功能展望的文章就介紹到這了,更多相關(guān)Java15新功能內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
夸克PC版開啟內(nèi)測:主打夸克小工具和夸克網(wǎng)盤(附正式版下載)
夸克PC版在電腦中使用的瀏覽器工具,據(jù)悉該軟件已經(jīng)開啟內(nèi)側(cè),主打夸克小工具和夸克網(wǎng)盤,本站提供該軟件內(nèi)側(cè)地址2023-12-20Visual Studio微軟集成開發(fā)環(huán)境 2022 17.5 正式發(fā)布(附下載)
Visual Studio微軟集成開發(fā)環(huán)境 2022 17.5 正式發(fā)布,引入了多項新功能和改進(jìn),旨在提高跨不同平臺和語言的開發(fā)人員的生產(chǎn)力、性能和協(xié)作2023-02-22微軟再次提醒:IE 瀏覽器將在今年 6 月退役,請使用 Edge
IE 瀏覽器將在今年“退役”,微軟想確保每個人都知道這件事。該公司在 Windows 消息中心發(fā)布了一個新的警告,專門提醒用戶 IE 瀏覽器將于今年 6 月退役2022-03-18IntelliJ IDEA 開發(fā)商 JetBrains 宣布:無限期暫停在俄羅斯和白俄羅斯
IntelliJ IDEA 開發(fā)商 JetBrains 宣布:無限期暫停在俄羅斯和白俄羅斯的銷售,本文為大家?guī)砹嗽敿?xì)介紹,一起看看吧2022-03-14什么是個人經(jīng)營收款碼? 個人經(jīng)營收款碼最全介紹
什么是個人經(jīng)營收款碼?3月1日開始,支付寶和微信都可以使用個人經(jīng)營收款碼進(jìn)行收款,那么什么是個人經(jīng)營收款碼呢?下面我們就來看看個人經(jīng)營收款碼最全介紹2022-02-24個人收款碼可以一直使用嗎? 官方:現(xiàn)行“個人收款碼”不停用
個人收款碼可以一直使用嗎?現(xiàn)在微信支付寶收款很常見,很多人都關(guān)心,微信支付波啊個人收款碼可以一直用嗎,現(xiàn)在官方給出了回復(fù),現(xiàn)行“個人收款碼”不停用,詳細(xì)請看下文2022-02-23網(wǎng)頁版 B 站導(dǎo)致 CPU 占用高的原因分析與解決方案
網(wǎng)頁版 B 站導(dǎo)致 CPU 占用高怎么辦?本文就為大家?guī)砹司W(wǎng)頁版 B 站導(dǎo)致 CPU 占用高原因分析與解決方案,需要的朋友一起看看吧2022-02-09微軟回應(yīng)刪除.NET熱重載功能:通過CLI支持Hot Reload熱重載
通過Hot Reload熱重加載,可以在應(yīng)用運行期間(在調(diào)試器下)編輯代碼,并且代碼更改將自動反映在應(yīng)用中,而不會丟失應(yīng)用狀態(tài)。換句話說,應(yīng)用程序不需要重新啟動。2022-01-06解除限速,阿里云盤、天翼云盤、360 安全網(wǎng)盤、和彩云、網(wǎng)易網(wǎng)盤等完成
據(jù)人民郵電報測試和致電了解,包括天翼云盤、和彩云、阿里云盤、360 安全網(wǎng)盤、網(wǎng)易網(wǎng)盤在內(nèi)的 5 家企業(yè)明確表示已按照工信部的要求完成無差別速率服務(wù)的改造,網(wǎng)頁端、移2021-12-22百度網(wǎng)盤企業(yè)版正式上線 開通企業(yè)套餐可享受超20項特權(quán)
百度網(wǎng)盤相信大家都是使用過的,就在最近百度網(wǎng)盤企業(yè)版正式上線了。餐收費3899元/年起,咱們就來仔細(xì)看看吧2021-09-29