甲骨文正式發佈Java 14 帶來多項功能更新

近日,甲骨文正式發佈Java 14(Oracle JDK 14)。秉承甲骨文對加速創新的一貫承諾,Java保持每六個月發佈一次新版本,為企業和開發人員社區提供新的增強功能。新版Java開發工具包(JDK)提供了許多新特性,其中包括兩個備受期待的新預覽特性:instanceof模式匹配(JEP 305)和記錄類(JEP 359),以及第二次作為預覽特性的文本塊(JEP 368)。

甲骨文正式發佈Java 14 帶來多項功能更新


此外,最新版Java還增加了對switch表達式的Java語言支持,公開了用於持續監視DK Flight Recorder數據的全新API,將低延遲Z垃圾收集器的可用性擴展至macOS和Windows,並在孵化器模塊中封裝了獨立Java應用和新的外部內存訪問API,以此支持安全、高效地訪問Java堆外部的內存。

“Java 維持了每六個月發佈新版本的節奏,讓開發人員能儘快嘗試到許多原本需要等待數年的功能,這個優勢在Java 14中得到了進一步體現。”甲骨文公司Java平臺開發副總裁Georges Saab表示,“JDK 14不僅帶來很多幫助開發者提高工作效率的增強功能,而且首次提供來自Project Panama等項目的重要內容,包括外部存儲器訪問API增強(JEP 370),以及Project Amber的持續改進,例如模式匹配(JEP 305)和記錄類(JEP 359)。這些重大增強足以證明我們在這些突破性項目所付出的努力。”

Java 14發行版是整個行業通力合作的成果,這裡麵包括了開放評審、每週構建和一直以來甲骨文工程師通過OpenJDK社區和Java Community Process與全球Java開發人員社區成員間的廣泛合作。Java 14的新增特性有:

JEP 305:instanceof模式匹配(Pattern Matching for instanceof,預覽版) — 該預覽特性可通過instanceof運算符模式匹配來增強Java。使用該特性,開發人員可以移除掉常見的樣板代碼,寫出更加簡潔的類型安全代碼,從而提高工作效率。

JEP343:打包工具(Packaging Tool,孵化階段)— 支持開發人員打包Java應用並以平臺特定格式進行分發。這有助於開發人員開發那些要求運行時和應用捆綁在單一交付成果中的現代應用。Java 14在孵化器模塊中引入了此工具,將非最終版API和非最終版工具提供給開發人員以獲取反饋,這些API或工具在未來版本中可能會被保留或移除。

JEP 345:適用於G1的NUMA感知內存分配 (NUMA-Aware Memory Allocation for G1)— 改進非一致性內存訪問(NUMA)系統上的G1垃圾收集器的整體性能。

JEP 349:JFR事件流(JFR Event Streaming) — 公開JDK Flight Recorder (JFR)數據以便持續監控。這有助於簡化各種工具和應用對JFR數據的訪問,並激勵進一步創新。

JEP 352:非易失性映射字節緩衝區(Non-Volatile Mapped Byte Buffers) — 在使用非易失性內存時,為JDK添加一種文件映射模式,擴展對非易失性內存的訪問。

JEP 358:有用的NullPointerExceptions(Helpful NullPointerExceptions) — 準確描述哪個變量為null並提供其他有用信息,從而提高NullPointerExceptions的可用性。這將提高開發人員的工作效率,改進許多開發和調試工具的質量。

JEP 359:記錄類(Records,預覽版)— 該預覽特性通過一種緊湊的語法來聲明保存淺層不可變數據的類。此特性有助於大幅減少該類中的樣板代碼,不過其最大的優勢在於可以將數據建模為數據。用戶可以輕鬆、清楚、簡潔地聲明這些淺層不可變數據聚合。

JEP 361:Switch表達式(Switch Expressions,標準版)— 在JDK 12和JDK 13中,Switch表達式為預覽特性,現已成為標準特性。它允許使用switch作為語句或表達式。此特性簡化了日常編碼,併為此版本中的模式匹配(JEP 305)預覽特性做好了準備。

JEP 364:macOS上的ZGC以及JEP 365:Windows上的ZGC — 儘管大多數需要ZGC的用戶也需要Linux環境的可擴展性,但通常需要通過部署和測試以便在macOS和Windows上支持ZGC。還有一些針對Windows和macOS的桌面應用也將受益於ZGC。

JEP 368:文本塊(Text Blocks,第二次預覽版)— 文本塊作為預覽特性首次引入Java 13後收到了眾多最終用戶的反饋。現在,文本塊得到了增強,再次作為預覽特性出現在Java 14中,目標成為未來JDK版本的標準特性。使用文本塊可以輕鬆表達跨多行源代碼的字符串。它提高了Java程序中以非Java語言編寫的代碼的字符串的可讀性;它約定,任何新構造的文本塊都可以用字符串相同的字符集表示,解釋相同的轉義序列並以與字符串相同的方式進行操作。

JEP370:外部內存訪問API(Foreign-Memory Access API,孵化階段)— 此API可允許Java程序安全、高效地訪問Java堆之外的外部內存。

對於尋求商業支持的用戶和企業,甲骨文還提供一種低成本、可預測的支持解決方案 — Oracle Java SE訂閱服務。目前,該服務已得到全球成千上萬家不同規模類型組織的廣泛使用。通過該服務,用戶可以獲得Java SE許可證以及所需系統的全面支持,而且可以隨需隨用。這些客戶可以定期直接從甲骨文獲得所支持版本經過測試與認證的性能、穩定性及安全性更新。

【Java一直以來都是深受軟件開發者青睞的首選編程語言。伴隨著Java 14創新功能的按時交付,對未來的周詳規劃以及對生態系統的持續投入,Java平臺將繼續為現代應用開發注入動力。】


分享到:


相關文章: