JDK15都發(fā)布三天了,你還不知道更新了哪些新特性?

2020年9月15日J(rèn)DK15發(fā)布,這也是一個短期支持的過渡版本,只會維護(hù)到明年三月JDK16發(fā)布。

官方文檔?http://openjdk.java.net/projects/jdk/15/

官網(wǎng)更新的JEPS:

JEP 339:Edwards-Curve Digital Signature Algorithm (EdDSA)

愛德華茲曲線數(shù)字簽名算法,新增Edwards-Curve數(shù)字簽名算法,EdDSA是一種現(xiàn)代的橢圓曲線簽名方案,與JDK中的現(xiàn)有簽名方案相比,在相同安全強度下,比現(xiàn)有的ECDSA算法實現(xiàn)性能更好。

JEP 360:Sealed Classes (Preview)

通過密封的類和接口增強Java編程語言。密封的類和接口限制可以擴展或?qū)崿F(xiàn)它們的其他類或接口。

在Java中,類層次結(jié)構(gòu)通過繼承實現(xiàn)代碼的重用:超類的方法可以被許多子類繼承(并因此被重用)。但是,類層次結(jié)構(gòu)的目的并不總是重用代碼。有時,其目的是對域中存在的各種可能性進(jìn)行建模,例如圖形庫支持的形狀類型或金融應(yīng)用程序支持的貸款類型。當(dāng)以這種方式使用類層次結(jié)構(gòu)時,限制子類集可以簡化建模。

JEP 371:Hidden Classes

隱藏類,這些隱藏類不能被其他類的字節(jié)碼直接使用。隱藏類適用于在運行時生成類并通過反射間接使用它們的框架。隱藏類可以定義為訪問控制嵌套的成員,并且可以獨立于其他類進(jìn)行卸載。

JEP 372:Remove the Nashorn JavaScript Engine

刪除Nashorn JavaScript腳本引擎和API,以及該jjs?工具

JEP 373:Reimplement the Legacy DatagramSocket API

重新實現(xiàn)了之前舊的DatagramSocket API,用易于維護(hù)和調(diào)試的更簡單更現(xiàn)代的實現(xiàn)來代替java.net.DatagramSocket和java.net.MulticastSocketAPI 的基礎(chǔ)實現(xiàn),新的實現(xiàn)將很容易適配虛擬線程的工作。

JEP 374:Disable and Deprecate Biased Locking

禁用和棄用偏向鎖定,默認(rèn)情況下禁用偏向鎖定,并棄用所有相關(guān)的命令行選項

JEP 375:Pattern Matching for instanceof (Second Preview)

通過為操作員提供模式匹配來增強Java編程語言instanceof。模式匹配允許程序中的通用邏輯,即從對象中有條件地提取組件,可以更簡潔,更安全地表示。這是JDK 15中的預(yù)覽語言功能。

JEP 377:ZGC: A Scalable Low-Latency Garbage Collector

ZGC 已由JEP 333集成到JDK 11 中,其目標(biāo)是通過減少 GC 停頓時間來提高性能。借助 JEP 377,ZGC 從預(yù)覽功能轉(zhuǎn)變?yōu)樯a(chǎn)功能。

JEP 378:Text Blocks

文本塊由JEP 355在 2019 年提出,文本塊是一種多行字符串文字,它避免了大多數(shù)轉(zhuǎn)義序列的需要,以一種可預(yù)測的方式自動設(shè)置字符串的格式,并在需要時使開發(fā)人員可以控制格式。借助 JEP 378,文本塊已成為 Java 語言的永久功能。

JEP 379:?Shenandoah: A Low-Pause-Time Garbage Collector

將Shenandoah垃圾收集器從實驗功能更改為產(chǎn)品功能。該算法通過與正在運行的 Java 線程同時進(jìn)行疏散工作來減少 GC 暫停時間。Shenandoah 的暫停時間與堆大小無關(guān)。

JEP 381:?Remove the Solaris and SPARC Ports

刪除源代碼并構(gòu)建對Solaris / SPARC,Solaris / x64和Linux / SPARC端口的支持。不建議在JDK 14中刪除這些端口,并明確表示打算在將來的版本中刪除它們。

JEP 383:?Foreign-Memory Access API (Second Incubator)

目的是引入一個 API,以允許 Java 程序安全有效地訪問 Java 堆之外的外部內(nèi)存,目前只是一個預(yù)覽功能。

JEP 384:?Records (Second Preview)

使用records增強Java編程語言,record是充當(dāng)不可變數(shù)據(jù)的透明載體的類。記錄可以看作是名義元組

JEP 385:Deprecate RMI Activation for Removal

棄用RMI激活?機制以便將來刪除。RMI激活是RMI的過時部分,自Java 8開始,RMI一直是可選的。不會棄用RMI的其他部分。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容