中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Java14發布有哪些新的內容更新?

發布時間:2020-04-03 17:42:01 來源:億速云 閱讀:307 作者:小新 欄目:編程語言

今年三月份,Java發布了最新的版本Java14。本次發布的Java14更新了大量的內容,包括了JEP364JEP365JEP366JEP367、打包功能、NullPointerException異常信息、File APIswitch語句、NUMAJFRRecordSolarisSPARC端口、CMS垃圾收集器和instanceof。下面我們一起來看看這些更新的特性吧!

Java14發布有哪些新的內容更新?

1JEP364

JEP 364針對MacOS提供了ZGC垃圾收集器。它將ZGC垃圾收集器移植到了macOS。正如JEP351中的描述,該JEP的功能還包括使用收集器釋放未使用的設備內存。自Java13開始就支持此功能。ZGCmacOS實現包含兩個部分:在macOS上支持多重映射(multi-mapping)內存;ZGC支持不連續預留內存。

2JEP365

JEP 365實際上和JEP 364一樣。JEP 365針對Windows提供了ZGC垃圾收集器支持。大多數ZGC代碼都與平臺無關,不需要為Windows修改。由于早期版本沒有預留內存必須的API,因此不支持Windows 10Windows Server 1803之前的版本。ZGCWindows實現進行了以下工作:支持多重映射內存、堆內存任意區域映射與取消映射操作和堆內存任意區域提交和撤銷提交操作等等。

3JEP366

JEP366包含垃圾收集器,它的目標是棄用Parallel ScavengeSerial Old垃圾收集算法的組合。除了棄用-XX:+UseParallelGC-XX :- UseParallelOldGC組合之外,-XXUseParallelOld GC選項也被棄用,因為它的作用是取消老年代并行GC,支持老年代串行GC。因此,任何與UseUseParallelOldGC選項有關的用法都會輸出警告。

4 JEP367

Pack 200JavaSE 5.0JSR 200實現的JAR文件壓縮方案。Java14java.util.jar包中移除了pack200unpack200工具以及pack200 API。這些工具和APIJavaSE 11中已廢棄,會在隨后的版本中移除。該JEP最終會從JDK主版本中移除3種類型。即之前標記 @Deprecated(forRemoval = true) 注解的基礎模塊:java.util.jar.Pack200java.util.jar.Pack200.Packerjava.util.jar.Pack200.Unpacker

5JEP368

Java中,想要把HTMLXMLSQLJSON代碼片段嵌入到代碼中通常難以閱讀和保留。并且為了克服此問題,Java14 引入了文本塊(Text Block)。文本塊包含零個或多個字符,這些字符由開始分隔符和結束分隔符包圍。

6JEP370

許多流行的Java庫和程序都支持訪問外部存儲器,例如IgniteMapDBMemcachedNettyByteBuf API。這樣可以避免垃圾回收(比如維護大型緩存)、跨進程共享內存、通過將文件內存映射進行序列化和反序列化帶來的開銷以及引入的不可預測性。然而,Java API沒有提供適合的外存訪問解決方案。Java14通過JEP 370引入了高效的Java API,使得Java應用程序能夠安全有效地訪問Java堆外內存。外部存儲API提出了三個重要的抽象:MemorySegmentMemoryAddressMemoryLayout

7、打包功能

該特性是一種能夠簡化安裝過流程的打包功能,能解決應用所需的各種依賴項。有時僅提供一個JAR文件是不夠的,還需要提供原生安裝包。打包工具還可以作為其它技術的補充。jpackage工具把Java應用打包成平臺特定格式的包,其中包含應用所有的依賴項。即一組普通JAR文件或模塊的集合。支持的包格式: LinuxdebrpmmacOSpkgdmgWindowsMSIEXE

8NullPointerException異常信息

Java14JVM生成的NullPointerException異常信息進行了改進。程序提前終止時,新特性將為開發者和技術支持人員提供有用的信息。由于NPE幾乎可以出現在程序中的任何位置,嘗試捕獲它們并從中恢復通常不太可行。開發人員只能靠JVM確認NPE實際的發生時間。

9File API

Java 14MappedByteBuffer進行了更新,將部分文件數據加載到非易失性存儲器(NVM)中。NVM非易失性存儲是指類似ROM(只讀存儲器)、閃存、硬盤等存儲器,即使關閉電源數據也不會丟失。易失性存儲器比如RAM,如果關閉電源則無法保存數據。API唯一的變化是加入了一個新枚舉供FileChannel客戶端使用。表示請求映射位于NVM支持的文件系統而非傳統文件系統。

10switch語句

Java14擴展了switch語句的功能,可以把switch作為表達式使用。支持箭頭(->)操作符生成或返回值。該特性在JDK12JDK13中是預覽功能。

11NUMA

非一致性內存訪問是一種將微處理器集群配置為多處理系統的方式,因此可以在本地共享內存、提高性能并擴展系統能力。Java14實現了NUMA內存分配優化,提升G1在大型計算機上表現。G1中的堆是一組固定大小區域。雖然指定-XX:+UseLargePages選項可以使用大頁面,多個區域可以組成一個物理頁面,但是一個區域通常是一組物理頁面。如果指定+XX:+UseNUMA選項,初始化JVM時上述將把區域平均分布在所有可用NUMA節點上。

12JFR

Java14提供了一個新的APIJDK Flight RecorderJFR)可以通過它持續監視進程內與進程外部應用程序。使用非Stream方式記錄相同的事件集,開銷可能甚至小于1%。事件流將與非Stream方式同時執行。jdk.jfr.consumer包位于 jdk.jfr模塊中,擴展了異步訂閱事件的功能。

13Record

這是JDK14中一個預覽功能。使用record精簡類聲明代碼。定義一個數據類需要編寫很多低效重復的模板代碼:構造函數、accessorequals()hashCode()toString()等。Java計劃使用record精簡這些重復代碼。

14SolarisSPARC端口

Java14棄用了Solaris/SPARCSolaris/x64Linux/SPARC端口,未來可能將它們移除。取消對這些端口的支持,能讓OpenJDK社區的貢獻者加速開發新功能,推動平臺向前發展。

15CMS垃圾收集器

Java14刪除了CMS垃圾收集器。不僅停用CMS編譯,從源代碼中刪除了gc/cms目錄中的內容,而且刪除了僅限CMS的選項。

16instanceof

instanceof操作符用來檢查對象引用是否為指定的Type實例,檢查的結果使用boolean返回。Java14instanceof操作符進行了改進,加入了模式匹配。改進后的instanceof讓實現邏輯變得清晰,不用在條件判斷后再為對象強制類型轉換。

if (!(obj instanceof String str))

.. str.contains(..)..// 不必再聲明str對象進行強制類型轉換

} else

.. str....

}

關于Java14發布有哪些新的內容更新就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元阳县| 佛山市| 高清| 东台市| 来凤县| 商水县| 富阳市| 伊春市| 商洛市| 正安县| 新绛县| 广安市| 镇江市| 丽江市| 东阳市| 衡阳县| 英超| 靖江市| 清丰县| 丹凤县| 嘉荫县| 浦城县| 松溪县| 潍坊市| 上思县| 兴宁市| 永安市| 龙岩市| 吐鲁番市| 南涧| 荣昌县| 增城市| 铜山县| 新源县| 澎湖县| 西昌市| 新蔡县| 镇巴县| 淮安市| 德保县| 墨江|