網友評分: 8.7分
jdk13是一款功能強大的軟件開發工具,此編程語言可以幫助程序開發員們更加順利的完成各種編程,它通常用于各種操作系統軟件和游戲開發,這個功能強大的Java編程語言套件及其全新的更新,為其套件增加了額外的功能。
在預覽階段添加文本塊。文本塊是一個多行字符串文字,可以避免大多數轉義序列的需要。文本塊以可預測的方式自動格式化字符串,并使開發人員可以控制格式。該項目列舉了為Java添加文本塊背后的一些目標。
一個目標是通過使表達跨越幾行源代碼的字符串變得容易,同時避免常見情況下的轉義序列來簡化Java程序的編寫。
第二個目標是增強程序中字符串的可讀性,這些程序表示用非Java語言編寫的代碼。
第三個目標是通過規定任何新構造可以表達與字符串文字相同的字符串集,解釋相同的轉義序列,并像字符串文字一樣進行操作來支持字符串文字的遷移。原始字符串文字是JDK 13提出的一個特性,但有利于文本塊,它采用了不同的方法來表示字符串而不轉義換行符和引號。原始字符串文字專注于字符串的原始性,但Java項目團隊現在認為焦點是錯誤的,因為雖然原始字符串文字可能跨越多行源代碼,但它們涉及支持未轉義分隔符的昂貴要求。已經為JDK 13預測了原始字符串文字,但從未正式添加到其建議的功能列表中。
重新實現傳統套接字API,這將涉及使用更簡單,更現代的實現替換API net.Socket和java.net.ServerSocketAPI 使用的底層實現,易于調試和維護。新的實現旨在易于適應使用用戶模式線程(也稱為光纖),這些線程正在Project Loom中進行探索。上述傳統API可以追溯到JDK 1.0,并且包含傳統C和Java代碼的混合,這些代碼被描述為調試和維護的痛苦。遺留實現還存在其他問題:支持異步關閉,導致可靠性和移植問題的本機數據結構,以及需要徹底檢查的并發問題。
JDK 13提出了第二個switch表達式預覽。在JDK 12中有一個,但是要進行一個更改:要從switch表達式中生成一個值break,要刪除with value語句以支持a yield聲明。目的是擴展,switch以便它可以用作語句或表達式,因此兩個表單既可以使用case ... :帶有連貫符號的傳統標簽,也可以使用新case … ->標簽,而不需要通過,還有一個新的語句用于從switch表達式中產生值。這些更改將簡化編碼并為模式匹配做好準備。
增強ZGC(Z垃圾收集器)以將未使用的內存返回到操作系統,引用的提議被集成到JDK 13中.ZGC被稱為可擴展的低延遲收集器,目前不會將未使用的內存返回到操作系統即使長時間沒有使用內存。對于某些應用程序和環境而言,此行為并非最佳,尤其是那些需要關注內存占用的應用程序和環境,例如應用程序可能長時間處于空閑狀態并與其他應用程序共享或競爭資源的容器或環境。
擴展應用程序類 - 數據共享(AppCDS),以便在應用程序執行結束時動態存檔類。存檔類將包括默認的基礎層CDS存檔中不存在的所有已加載的應用程序和庫類。該提案處于目標階段,旨在提高AppCDS的可用性,并消除用戶進行試運行以創建每個應用程序的類列表的需要。