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

溫馨提示×

溫馨提示×

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

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

JDK15新增的功能有哪些

發布時間:2022-03-01 10:59:12 來源:億速云 閱讀:143 作者:iii 欄目:開發技術

本篇內容介紹了“JDK15新增的功能有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

發布版本說明

根據發布的規劃,這次發布的 JDK 15 將是一個短期的過度版,只會被 Oracle 支持(維護)6 個月,直到明年 3 月的 JDK 16 發布此版本將停止維護。而 Oracle 下一個長期支持版(LTS 版)會在明年的 9 月份候發布(Java 17),LTS 版每 3 年發布一個,上一次長期支持版是 18 年 9 月發布的 JDK 11。

JDK 15 新功能說明

JDK 15 為用戶提供了十四項主要的增強/更改,包括一個孵化器模塊,三個預覽功能,兩個不推薦使用的功能以及兩個刪除功能。

1、EdDSA 數字簽名算法

新加入 Edwards-Curve 數字簽名算法(EdDSA)實現加密簽名。在許多其它加密庫(如 OpenSSL 和 BoringSSL)中得到支持。與 JDK 中的現有簽名方案相比,EdDSA 具有更高的安全性和性能。這是一個新的功能。

2、隱藏類

此功能可幫助需要在運行時生成類的框架。框架生成類需要動態擴展其行為,但是又希望限制對這些類的訪問。隱藏類很有用,因為它們只能通過反射訪問,而不能從普通字節碼訪問。此外,隱藏類可以獨立于其他類加載,這可以減少框架的內存占用。這是一個新的功能。

3、重新實現 DatagramSocket API

重新實現舊版 DatagramSocket API,更簡單、更現代的實現來代替java.net.DatagramSocketjava.net.MulticastSocketAPI 的基礎實現,提高了 JDK 的可維護性和穩定性。

4、ZGC 功能轉正

ZGC 已由JEP 333集成到JDK 11 中,其目標是通過減少 GC 停頓時間來提高性能。借助 JEP 377,ZGC 從預覽功能轉變為生產功能。

5、文本塊功能轉正

文本塊由JEP 355在 2019 年提出,文本塊是一種多行字符串文字,它避免了大多數轉義序列的需要,以一種可預測的方式自動設置字符串的格式,并在需要時使開發人員可以控制格式。借助 JEP 378,文本塊已成為 Java 語言的永久功能。

6、Shenandoah 垃圾回收算法轉正

Shenandoah 垃圾回收從實驗特性變為產品特性。這是一個從 JDK 12 引入的回收算法,該算法通過與正在運行的 Java 線程同時進行疏散工作來減少 GC 暫停時間。Shenandoah 的暫停時間與堆大小無關,無論堆棧是 200 MB 還是 200 GB,都具有相同的一致暫停時間。

7、密封類(預覽)

通過密封的類和接口來增強 Java 編程語言,用于限制超類的使用,密封的類和接口限制其它可能繼承或實現它們的其它類或接口。

8、instanceof 自動匹配模式(預覽)

舊寫法:

// 先判斷類型
if (obj instanceof String) {
    // 然后轉換
    String s = (String) obj;
    // 然后才能使用
}

新寫法:

if (obj instanceof String s) {
    // 如果類型匹配 直接使用
} else {
    // 如果類型不匹配則不能直接使用
}

這是第二次預覽該功能,我們已經在 Java 14 中首次預覽過該特性。

9、Records Class(預覽)

Records Class 也是第二次出現的預覽功能,它在 JDK 14 中也出現過一次了,使用 Record 可以更方便的創建一個常量類,使用的前后代碼對比如下。

舊寫法:

class Point {
    private final int x;
    private final int y;


    Point(int x, int y) { 
        this.x = x;
        this.y = y;
    }


    int x() { return x; }
    int y() { return y; }


    public boolean equals(Object o) { 
        if (!(o instanceof Point)) return false;
        Point other = (Point) o;
        return other.x == x && other.y = y;
    }


    public int hashCode() {
        return Objects.hash(x, y);
    }


    public String toString() { 
        return String.format("Point[x=%d, y=%d]", x, y);
    }
}

新寫法:

record Point(int x, int y) { }

也就是說在使用了 record 之后,就可以用一行代碼編寫出一個常量類,并且這個常量類還包含了構造方法、toString()、equals() 和 hashCode() 等方法。

10、外部存儲器訪問 API(預覽)

目的是引入一個 API,以允許 Java 程序安全有效地訪問 Java 堆之外的外部內存。這同樣是 Java 14 的一個預覽特性。

11、其它功能

其它功能里面還有一些棄用和不建議使用的功能,比如移除了 Nashorn JavaScript 引擎,同時也移除了刪除 Solaris 和 SPARC 端口,并標記了一些棄用功能。

“JDK15新增的功能有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

jdk
AI

库伦旗| 阳朔县| 岑巩县| 长武县| 宿松县| 余江县| 通化县| 合阳县| 克什克腾旗| 台南市| 芦溪县| 疏勒县| 清水河县| 奇台县| 邵武市| 呈贡县| 新乐市| 松原市| 东源县| 荣成市| 肇庆市| 崇义县| 乐陵市| 宝清县| 酉阳| 临潭县| 四会市| 靖安县| 洮南市| 芜湖市| 澜沧| 金乡县| 绥棱县| 丁青县| 肇庆市| 栾城县| 阳信县| 筠连县| 三河市| 濉溪县| 古丈县|