91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Java JDK15的新特性和變化有哪些

發布時間:2022-02-09 16:45:26 來源:億速云 閱讀:159 作者:iii 欄目:開發技術

這篇文章主要介紹了Java JDK15的新特性和變化有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java JDK15的新特性和變化有哪些文章都會有所收獲,下面我們一起來看看吧。

OpenJDK 15的新特性和變化包括:

1)外內存訪問API(foreign-memory access API)

外內存訪問 API 的第二個孵化器,它將使 Java 程序能夠安全和有效地訪問 Java 堆之外的外部內存。此 API 能夠操作各種類型的外部內存,如本機、持久和托管堆。有許多 Java 程序是訪問外部內存的,比如 IgniteMapDB。該API將有助于避免與垃圾收集相關的成本以及與跨進程共享內存以及通過將文件映射到內存來序列化和反序列化內存內容相關的不可預測性。該Java API目前沒有為訪問外部內存提供令人滿意的解決方案。但是在新的提議中,API不應該破壞JVM的安全性。在JDK 14中,這個功能正在經歷早期的孵化階段,在JDK 15中還提供了改進。

2)密封類(sealed classes)的預覽

與接口一樣,密封類也限制其他類或接口可以擴展或實現它們。這個特性的目標包括——允許類或接口的作者來控制哪些代碼負責實現、提供了比限制使用超類的訪問修飾符聲明方式更多選擇,并通過支持對模式的詳盡分析而支持模式匹配的未來發展。

3)相關支持的刪除

刪除對Solaris/SPARCSolaris/x64Linux/SPARC端口的源代碼和構建支持,而在JDK 14中不贊成刪除這些端口,但可在將來的版本中刪除它們。許多正在開發的項目和功能(如Valhalla、Loom和Panama)需要進行重大更改以適應 CPU 架構和操作系統特定代碼。放棄對SolarisSPARC端口的支持將使OpenJDK社區的貢獻者加快開發新特性,從而推動平臺向前發展。近年來,SolarisSPARC都被Linux操作系統和Intel處理器所取代。

4)記錄結構(Records)

記錄是充當不可變數據的透明載體類,在 JDK 14 中作為早期預覽進行了首次調試之后,它將被包含在 JDK 15 的第二個預覽版本中。計劃的目標包括設計一個面向對象的結構,表達一個簡單的聚合值,幫助程序員關注建模不可變的數據,而不是擴展行為,自動實現數據驅動的方法,如如equalsassessors,并保留 Java 中長期存在的原則,如名義類型和遷移兼容性 。Records(記錄)可以被認為是名義元組。

5)數字簽名算法

基于Edwards-Curve數字簽名算法(EdDSA-Edwards-Curve Digital Signature Algorithm)的加密簽名。EdDSA是一種現代的橢圓曲線方案,具有 JDK 中現有簽名方案的優點。EdDSA將只在SunEC提供商中實現。EdDSA與其他簽名方案相比,具有更高的安全性和性能,因此備受關注;它已經在OpenSSLBoringSSL等加密庫中得到支持。

6)套接字的更新實現

通過將java.net.datagram.Socketjava.net.MulticastSocket API的底層實現替換為更簡單、更現代的實現來重新實現遺留的DatagramSocket API。新的實現:

1.易于調試和維護;

2.與Project Loom中正在探索的虛擬線程協同。

新的計劃是 JDK Enhancement Proposal 353的后續,該方案重新實現了遺留的套接字 API。java.net.datagram.Socketjava.net.MulticastSocket的當前實現可以追溯到 JDK 1.0,那時 IPv6 還在開發中。因此,當前的多播套接字實現嘗試調和 IPv4 和 IPv6 難以維護的方式。

7)禁用偏向/偏置鎖定

在默認情況下禁用偏向鎖定,并棄用所有相關命令行選項。目標是確定是否需要繼續支持偏置鎖定的高維護成本的遺留同步優化,HotSpot虛擬機使用該優化來減少非競爭鎖定的開銷。盡管某些 Java 應用程序在禁用偏向鎖后可能會出現性能下降,但偏向鎖的性能提高通常不像以前那么明顯。

8)instanceof模式匹配

此為第二個預覽版,之前是 JDK 14 中的首次預覽。模式匹配允許程序中的通用邏輯(主要是有條件地從對象中提取組件)得到更精確的表達。像Haskellc#這樣的語言已經包含了模式匹配,因為它的簡易性和安全性。

9)隱藏類(Hidden classes)

即不能被其他類的字節碼直接使用的類,是為在運行時生成類并通過反射間接使用類的框架使用的。隱藏類可以定義為訪問控制嵌套的成員,并且可以獨立于其他類卸載。該提議將通過支持一個標準 API 來定義不可發現且生命周期有限的隱藏類,從而提高 JVM 上所有語言的效率。JDK 內部和外部的框架將能夠動態生成類,而這些類可以定義隱藏類。許多構建在 JVM 上的語言都依賴動態類生成來獲得靈活性和效率。這個提議的目標包括:允許框架將類定義為無法發現的框架實現細節,這樣它們就不能被其他類鏈接,也不能通過反射被發現;支持擴展帶有不可發現類的訪問控制嵌套;并支持主動卸載不可發現的類,因此框架可以根據需要靈活地定義多個類。另一個目標是棄用非標準API misc.Unsafe::defineAnonymousClass,目的是為了在將來的版本中刪除。另外, Java 語言不會因為這個建議而改變。

10)ZGC產品化

在這個提案下,Z垃圾收集器(ZGC-Z Garbage Collector)將從一個實驗特性升級為產品。 ZGC 集成到2018年9月發布的JDK 11中,是一個可擴展的、低延遲的垃圾收集器。 ZGC 是作為一種實驗性的功能引入的,因為 Java 開發人員決定應該小心地、逐步地引入這種規模和復雜性的特性。從那時起,添加了許多改進,從并發類卸載、未使用內存的解除提交、對類數據共享的支持到改進的 NUMA 感知和多線程堆預處理。此外,最大堆大小從4TB增加到16TB。支持的平臺包括LinuxWindowsMacOS

11)文本塊

JDK 14JDK 13中都預覽版文本塊,它旨在簡化編寫  Java 程序的任務,方法是簡化表達跨越幾行源代碼的字符串,同時在常見情況下避免轉義序列。文本塊是一個多行字符串文字,它可以避免使用大多數轉義序列、自動以可預測的方式格式化字符串,并在需要時為開發人員提供對格式的控制。文本塊建議的一個目標是增強 Java 程序中表示用非J Java 語言編寫的代碼的字符串的可讀性。另一個目標是通過規定任何新構造都可以將相同的字符串集表示為字符串文字,解釋相同的轉義序列,并以與字符串文字相同的方式操作,從而支持字符串文字的遷移。OpenJDK 開發人員希望添加轉義序列來管理顯式的空格和換行控件。

12)LPT GC正式可用

Shenandoah低暫停時間(low-pause-time)垃圾收集器將成為一個生產特性,不再處于實驗階段。它在一年前被集成到JDK 12中。

13)刪除Nashorn

2014年3月在jdk8中首次亮相的Nashorn被移除,由于其被GraalVM等技術淘汰。OpenJDK 15 提議要求刪除Nashorn APIs和用于調用Nashornjjs命令行工具。

14)RMI Activation進入不推薦期

不推薦 RMI 激活機制,以便將來刪除。RMI 激活機制是 RMI 中一個過時的部分,自 Java 8 以來一直是可選的。RMI 激活機制增加了持續的維護負擔。RMI 的其他部分將不被棄用。

JDK 15的早期訪問版本可以在java.jdk.net網站中找到。JDK 15將是一個短期的特性發布,根據 Oracle 的6個月發布周期,它將被支持6個月。下一個長期支持(LTS-long-term support)版本是JDK 17,預計將于2021年9月發布,它將獲得幾年的支持。當前的LTS版本是JDK 11,是于2018年9月發布。

關于“Java JDK15的新特性和變化有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java JDK15的新特性和變化有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

霸州市| 行唐县| 铜川市| 磴口县| 河北省| 商城县| 扶风县| 襄汾县| 化州市| 紫阳县| 新乐市| 新巴尔虎右旗| 静海县| 浦城县| 团风县| 德昌县| 广宗县| 鄂伦春自治旗| 毕节市| 马龙县| 吉隆县| 贵港市| 渝中区| 比如县| 驻马店市| 井冈山市| 弋阳县| 安平县| 沿河| 辉县市| 凤城市| 易门县| 磐安县| 页游| 金寨县| 虎林市| 广安市| 中阳县| 桑植县| 伊宁市| 额尔古纳市|