Java13新特性

Java 13 的官方開發目標包含改進垃圾收集、應用程序的類數據共享和文本塊html

Java 開發工具包(JDK)13,標準 Java 的下一個版本,如今可做爲候選版本使用,全部新功能都已鎖定。JDK 13提出了一種功能,但從未添加到官方列表中,即用於打包自包含 Java 應用程序的 jpackage 工具,已經無緣晉級。JDK 13 再也不考慮它。java

[新的 Java 已經來了!瞭解 Jakarta EE 企業 Java 路線圖。|新 Java 版本在這裏!你須要學習任何關於 Java JDK 11 的新功能和 Java EE 8 的新功能。|使用 InfoWorld 的 App Dev Report 簡報瞭解編程中的熱門話題。]編程

JDK 13 將於2019年9月17日到期。第二個候選版本將於8月22日到期。如下是 JDK 13 的官方特性:數據結構

  • 在預覽階段添加文本塊。文本塊是一個多行字符串文本,它避免了對大多數轉義序列的須要。文本塊以可預測的方式自動格式化字符串,並讓開發人員控制格式。該項目引用了向 Java 添加文本塊背後的一些目標。一個目標是簡化 Java 程序的編寫,方法是簡化跨幾行源代碼的字符串的表達,同時在常見狀況下避免轉義序列。第二個目標是加強程序中字符串的可讀性,這些字符串表示用非 Java 語言編寫的代碼。第三個目標是支持從字符串字面量遷移,規定任何新構造均可以將相同的字符串集表示爲字符串字面量,解釋相同的轉義序列,並像字符串字面量同樣進行操做。

原始字符串併發

是 JDK 13 的一個特性,但它放棄了文本塊,採用了一種不一樣的方法來表示字符串而不轉義換行和引號。原始字符串關注的是字符串的原始性,可是 Java 項目團隊如今認爲焦點是錯誤的,由於雖然原始字符串能夠跨越多行源代碼,可是它們涉及到支持非轉義分隔符的昂貴需求。JDK 13 曾計劃使用原始字符串,但從未正式將其添加到建議的特性列表中。異步

  • 從新實現遺留的套接字API,涉及使用更簡單、更現代的實現替換如今的 net.Socketjava.net.ServerSocket API 底層實現。這個新實現的目的是爲了更容易地適應用戶模式線程(也稱爲 fibers),這些線程正在 Project Loom 中進行研究。前面提到的遺留 API 能夠追溯到 JDK 1.0,由遺留 C 和 Java 代碼組成,這些代碼被描述爲調試和維護起來很麻煩。遺留實現還存在其餘問題:支持異步關閉的本機數據結構,致使可靠性和移植問題,以及須要完全檢查的併發性問題。
    • 第二個 switch 表達式預覽已經被提議用於 JDK 13。JDK 12 中曾經有一個這樣的語句,可是如今要作一個更改:要從一個 switch 表達式中產生一個值,將刪除break 跳出當前值語句以支持yield語句。其目的是擴展 switch ,使其既能夠用做語句,也能夠用做表達式,所以這兩種形式均可以使用傳統的 case ... : 標籤和新的 case … -> 標籤,而不使用 fall through,使用一個新的語句從 switch 表達式生成一個值。這些更改將簡化編碼併爲模式匹配作準備。
    • 加強 ZGC(Z 垃圾收集器),將未使用的內存返回到操做系統,這是一個集成到 JDK 13 中的建議。ZGC 被標榜爲一個可伸縮、低延遲的收集器,它目前不會將未使用的內存返回給操做系統,即便內存已經很長時間沒有使用了。對於某些應用程序和環境來講,這種行爲不是最優的,特別是那些須要考慮內存佔用的應用程序,例如容器或環境,其中應用程序可能長時間處於空閒狀態,而且正在與其餘應用程序共享或競爭資源。
    • 擴展應用程序類數據共享(AppCDS),以支持在應用程序執行結束時動態歸檔類。存檔類將包括全部加載的應用程序和庫類,這些類不存在於默認的底層 CD 存檔中。該建議正處於目標階段,其目的是提升 AppCDS 的可用性,並消除用戶在爲每一個應用程序建立類列表時進行試運行的須要。

哪裏能夠下載 beta JDK 13 版本

你能夠從 jdk.java.net 網站下載 JDK 13 構建。JDK 13 的第一個 beta 版本可用於 Linux、MacOS 和 Windows。socket

本文中的 」JDK 13:Java 的新特性「 最初由 InfoWorld 發佈。工具

原文:https://www.javaworld.com/article/3341388/jdk-13-the-new-features-coming-to-java-13.html學習

做者:Paul Krill開發工具

譯者:Queena
------

9月福利,關注公衆號​後臺回覆:004,領取8月翻譯集錦!​往期福利回覆:001,002, 003便可領取!

img

相關文章
相關標籤/搜索