溫馨提示×

溫馨提示×

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

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

Java13新特性是什么

發(fā)布時間:2022-02-28 11:26:46 來源:億速云 閱讀:95 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了Java13新特性是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Java13新特性

Java 13 的官方開發(fā)目標包含改進垃圾收集、應(yīng)用程序的類數(shù)據(jù)共享和文本塊

Java 開發(fā)工具包(JDK)13,標準 Java 的下一個版本,現(xiàn)在可作為候選版本使用,所有新功能都已鎖定。JDK 13提出了一種功能,但從未添加到官方列表中,即用于打包自包含 Java 應(yīng)用程序的 jpackage 工具,已經(jīng)無緣晉級。JDK 13 不再考慮它。

[新的 Java 已經(jīng)來了!了解 Jakarta EE 企業(yè) Java 路線圖。|新 Java 版本在這里!你需要學(xué)習(xí)任何關(guān)于 Java JDK 11 的新功能和 Java EE 8 的新功能。|使用 InfoWorld 的 App Dev Report 簡報了解編程中的熱門話題。]

JDK 13 將于2019年9月17日到期。第二個候選版本將于8月22日到期。以下是 JDK 13 的官方特性:

  • 在預(yù)覽階段添加文本塊。文本塊是一個多行字符串文本,它避免了對大多數(shù)轉(zhuǎn)義序列的需要。文本塊以可預(yù)測的方式自動格式化字符串,并讓開發(fā)人員控制格式。該項目引用了向 Java 添加文本塊背后的一些目標。一個目標是簡化 Java 程序的編寫,方法是簡化跨幾行源代碼的字符串的表達,同時在常見情況下避免轉(zhuǎn)義序列。第二個目標是增強程序中字符串的可讀性,這些字符串表示用非 Java 語言編寫的代碼。第三個目標是支持從字符串字面量遷移,規(guī)定任何新構(gòu)造都可以將相同的字符串集表示為字符串字面量,解釋相同的轉(zhuǎn)義序列,并像字符串字面量一樣進行操作。

    原始字符串

    是 JDK 13 的一個特性,但它放棄了文本塊,采用了一種不同的方法來表示字符串而不轉(zhuǎn)義換行和引號。原始字符串關(guān)注的是字符串的原始性,但是 Java 項目團隊現(xiàn)在認為焦點是錯誤的,因為雖然原始字符串可以跨越多行源代碼,但是它們涉及到支持非轉(zhuǎn)義分隔符的昂貴需求。JDK 13 曾計劃使用原始字符串,但從未正式將其添加到建議的特性列表中。

    • 重新實現(xiàn)遺留的套接字API,涉及使用更簡單、更現(xiàn)代的實現(xiàn)替換現(xiàn)在的 net.Socket 和 java.net.ServerSocket API 底層實現(xiàn)。這個新實現(xiàn)的目的是為了更容易地適應(yīng)用戶模式線程(也稱為 fibers),這些線程正在 Project Loom 中進行研究。前面提到的遺留 API 可以追溯到 JDK 1.0,由遺留 C 和 Java 代碼組成,這些代碼被描述為調(diào)試和維護起來很麻煩。遺留實現(xiàn)還存在其他問題:支持異步關(guān)閉的本機數(shù)據(jù)結(jié)構(gòu),導(dǎo)致可靠性和移植問題,以及需要徹底檢查的并發(fā)性問題。

  • 第二個 switch 表達式預(yù)覽已經(jīng)被提議用于 JDK 13。JDK 12 中曾經(jīng)有一個這樣的語句,但是現(xiàn)在要做一個更改:要從一個 switch 表達式中產(chǎn)生一個值,將刪除break 跳出當(dāng)前值語句以支持yield語句。其目的是擴展 switch ,使其既可以用作語句,也可以用作表達式,因此這兩種形式都可以使用傳統(tǒng)的 case ... : 標簽和新的 case … -> 標簽,而不使用 fall through,使用一個新的語句從 switch 表達式生成一個值。這些更改將簡化編碼并為模式匹配做準備。

  • 增強 ZGC(Z 垃圾收集器),將未使用的內(nèi)存返回到操作系統(tǒng),這是一個集成到 JDK 13 中的建議。ZGC 被標榜為一個可伸縮、低延遲的收集器,它目前不會將未使用的內(nèi)存返回給操作系統(tǒng),即使內(nèi)存已經(jīng)很長時間沒有使用了。對于某些應(yīng)用程序和環(huán)境來說,這種行為不是最優(yōu)的,特別是那些需要考慮內(nèi)存占用的應(yīng)用程序,例如容器或環(huán)境,其中應(yīng)用程序可能長時間處于空閑狀態(tài),并且正在與其他應(yīng)用程序共享或競爭資源。

  • 擴展應(yīng)用程序類數(shù)據(jù)共享(AppCDS),以支持在應(yīng)用程序執(zhí)行結(jié)束時動態(tài)歸檔類。存檔類將包括所有加載的應(yīng)用程序和庫類,這些類不存在于默認的底層 CD 存檔中。該建議正處于目標階段,其目的是提高 AppCDS 的可用性,并消除用戶在為每個應(yīng)用程序創(chuàng)建類列表時進行試運行的需要。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java13新特性是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

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

AI