JDK 13:新功能即將推出 - TechCentral.ie

banq發表於2019-05-24

JDK 13將於2019年9月17日到期,之後將分別於6月和8月開始逐步推出candidate版本。以下是JDK 13正式釋出的功能:
  • 重新實現傳統的套接字Socket API,透過使用更簡單,更現代的實現替換net.Socket和java.net.ServerSocket API使用的底層實現,該實現易於除錯和維護。新的實現旨在易於適應使用使用者模式的執行緒(也稱為光纖),這些執行緒正在Project Loom中進行探索  。上述傳統API可以追溯到JDK 1.0,並且包含傳統C和Java程式碼的混合,這些程式碼曾經被認為帶來除錯和維護的痛苦。遺留實現還存在其他問題:支援非同步關閉,導致可靠性和移植問題的原生資料結構,以及需要徹底檢查的併發問題。 

  • 增強  ZGC(Z垃圾收集器)  ,將未使用的記憶體返回到作業系統,稱為可擴充套件的低延遲收集器,目前的垃圾收集器不會將未使用的記憶體返回到作業系統,即使長時間沒有使用記憶體。對於某些應用程式和環境而言,此行為並非最佳,尤其是那些需要關注記憶體佔用的應用程式和環境,例如應用程式可能長時間處於空閒狀態並與其他應用程式共享或競爭資源的容器或環境。

  • 擴充套件應用程式類 - 資料共享(AppCDS),以便在應用程式執行結束時動態存檔類。存檔類(Archived classes )將包括載入所有在預設基礎CDS存檔層不存在的應用程式和庫類。該提案處於targeted 階段,旨在提高AppCDS的可用性,並消除使用者進行試執行以建立每個應用程式的類列表的需要。

JDK 13中也預計還有三個被認為值得JDK 13包含的功能尚未新增到官方列表中。這些包括:
  • 開發用於打包自包含Java應用程式的工具,稱為jpackage。該工具將基於JavaFX javapackager工具,該工具支援本機打包格式,為使用者提供自然的安裝體驗。它允許在打包時指定啟動時引數。可以直接從命令列呼叫該工具,也可以透過ToolProvider以程式設計方式呼叫該工具。許多應用程式需要以“第一公民”方式安裝在本機平臺上,而不是放在類路徑或模組路徑上。
  • 原始字串文字(Raw string literals),等到JDK 14才達到生產環境執行階段。
  • switch表示式的生產版本,JDK將為其提供beta實現。switch語句將被擴充套件用作語句或表示式,因此兩者都可以使用“傳統”或“簡化”作用域和控制流行為。

您可以   從jdk.java.net網站下載JDK 13版本。第一個JDK 13 beta版本可用於Linux,MacOS和Windows。

相關文章