亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

JDK13新特性有哪些

發布時間:2021-12-17 13:57:06 來源:億速云 閱讀:110 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關JDK13新特性有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、switch優化更新

      JDK11以及之前的版本:

switch (day) {
    case MONDAY: 
    case FRIDAY:
    case SUNDAY:
         System.out.println(6); 
         break; 
    case TUESDAY: 
        System.out.println(7); 
        break; case THURSDAY: 
    case SATURDAY: 
        System.out.println(8);
         break; 
    case WEDNESDAY:
         System.out.println(9);
         break; 
}

       JDK12版本

switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> System.out.println(6); 
    case TUESDAY -> System.out.println(7); 
    case THURSDAY, SATURDAY -> System.out.println(8); 
    case WEDNESDAY -> System.out.println(9);
 }

      JDK13版本

static void howMany(int k) {
    System.out.println(        switch (k) {            case  1 -> "one"
            case  2 -> "two"
            default -> "many"
        }
    );}
2、文本塊升級

      2.1、html例子

      JDK13之前

String html = "<html>\n" +              "    <body>\n" +              "        <p>Hello, world</p>\n" +              "    </body>\n" +              "</html>\n";

      JDK13優化的:

String html = """
              <html>
                  <body>
                      <p>Hello, world</p>
                  </body>
              </html>
              """;

      2.2、SQL變化

      JDK13之前

String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
               "WHERE `CITY` = 'INDIANAPOLIS'\n" +
               "ORDER BY `EMP_ID`, `LAST_NAME`;\n";

      JDK13

String query = """    
                SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
                WHERE `CITY` = 'INDIANAPOLIS'                ORDER BY `EMP_ID`, `LAST_NAME`;
               """;

      2.3、解釋

      文本塊

"""
line 1
line 2
line 3
"""

      相當于字符串文字:

"line 1\nline 2\nline 3\n"
3、動態CDS檔案

    目標:

提高應用程序類 - 數據共享(AppCDS)的可用性。消除了用戶進行試運行以創建每個應用程序的類列表的需要。-Xshare:dump使用類列表由該選項啟用的靜態歸檔應繼續工作。這包括內置類加載器和用戶定義的類加載器的類。
4、取消使用未使用的內存

      摘要:

  增強ZGC以將未使用的堆內存返回給操作系統。

      動機:

    ZGC目前沒有取消提交并將內存返回給操作系統,即使該內存長時間未使用。對于所有類型的應用程序和環境,此行為并非最佳,
尤其是那些需要關注內存占用的應用程序和環境 例如:通過使用支付資源的容器環境。應用程序可能長時間處于空閑狀態并與許多其
他應用程序共享或競爭資源的環境。應用程序在執行期間可能具有非常不同的堆空間要求。
    例如,啟動期間所需的堆可能大于穩態執行期間稍后所需的堆。HotSpot中的其他垃圾收集器,如G1和Shenandoah,今天提供
了這種功能,某些類別的用戶發現它非常有用。將此功能添加到ZGC將受到同一組用戶的歡迎。
5、重新實現舊版套接字API    

      摘要:

    使用更簡單,更現代的實現替換java.net.Socket和java.net.ServerSocketAPI 使用的底層實現,易于維護和調試。新的實
現很容易適應用戶模式線程,也就是光纖,目前正在Project Loom中進行探索。

      動機:

    在java.net.Socket和java.net.ServerSocketAPI,以及它們的底層實現,可以追溯到JDK 1.0。實現是遺留Java和C代
碼的混合,維護和調試很痛苦。該實現使用線程堆棧作為I/O緩沖區,這種方法需要多次增加默認線程堆棧大小。該實現使用本機數據
結構來支持異步關閉,這是多年來微妙可靠性和移植問題的根源。該實現還有幾個并發問題,需要進行大修才能正確解決。在未來的光
纖世界環境中,而不是在本機方法中阻塞線程,當前的實現不適用于目的。加q群:478052716 免費領取(Java架構資料,視頻資料,BATJ面試資料)
6、FileSystems.newFileSystem新方法

      核心庫/ java.nio中添加了FileSystems.newFileSystem(Path,Map <String,?>)方法 

      添加了三種新方法java.nio.file.FileSystems,以便更輕松地使用將文件內容視為文件系統的文件系統提供程序。

1、newFileSystem(Path)2、newFileSystem(Path, Map<String, ?>)3、newFileSystem(Path, Map<String, ?>, ClassLoader)    添加為newFileSystem(Path, Map<String, ?>) 已使用現有2-arg newFileSystem(Path, ClassLoader)并指定類加載器
的代碼創建源(但不是二進制)兼容性問題。null.例如,由于引用newFileSystem不明確,因此無法編譯以下內容:    FileSystem fs = FileSystems.newFileSystem(path, null);為了避免模糊引用,需要修改此代碼以將第二個參數強制轉換為java.lang.ClassLoader。
7、nio新方法

      核心庫/ java.nio中新的java.nio.ByteBuffer批量獲取/放置方法轉移字節而不考慮緩沖區位置。

    java.nio.ByteBufferjava.nio現在,其他緩沖區類型定義絕對批量get和put傳輸連續字節序列的方法,而不考慮或影響緩沖
區位置。
8、核心庫/ java.time
    新日本時代名稱Reiwa,此更新中添加了代表新Reiwa時代的實例。與其他時代不同,這個時代沒有公共領域。它可以通過調用JapaneseEra.of(3)或獲得JapaneseEra.valueOf("Reiwa")。JDK13及更高版本將有一個新的公共領域來代表這個時代。    NewEra從2019年5月1日開始的日本時代的占位符名稱“ ”已被新的官方名稱取代。依賴占位符名稱(請參閱JDK-8202088)獲
取新時代單例(JapaneseEra.valueOf("NewEra"))的應用程序將不再起作用。請參閱JDK-8205432
9、核心庫/ java.util中:I18N

      支持Unicode 12.1,此版本將Unicode支持升級到12.1,其中包括以下內容:

    java.lang.Character支持12.1級的Unicode字符數據庫,其中12.0從11.0開始增加554個字符,總共137,928個
字符。這些新增內容包括4個新腳本,總共150個腳本,以及61個新的表情符號字符。U+32FF SQUARE ERA NAME REIWA從
12.0開始,12.1只添加一個字符。java.text.Bidi和java.text.Normalizer類分別支持12.0級的Unicode標準附件,
#9和#15。java.util.regexpackage支持基于12.0級Unicode標準附件#29的擴展字形集群。
10、熱點/ GC
    10.1 JEP 351 ZGC取消提交未使用的存儲器 
    10.2 添加了-XXSoftMaxHeapSize標志
    10.3 ZGC支持的最大堆大小從4TB增加到16TB
11、安全庫/ java.security
    11.1 該com.sun.security.crl.readtimeout系統屬性設置為CRL檢索的最大讀取超時,單位為秒。如果尚未設置該屬性,
或者其值為負,則將其設置為默認值15秒。值0表示無限超時。
    11.2 新的keytool -showinfo -tls用于顯示TLS配置信息的命令keytool -showinfo -tls添加了一個顯示TLS配置信
息的新命令。    11.3 SunMSCAPI提供程序現在支持以下一代加密(CNG)格式讀取私鑰。這意味著CNG格式的RSA和EC密鑰可從Windows密鑰
庫加載,例如“Windows-MY”。與EC(簽名算法SHA1withECDSA,SHA256withECDSA等等)也支持。
12、刪除功能

      刪除的部分功能:

    12.1 核心庫/java.net中,不再支持Pre-JDK 1.4 SocketImpl實現java.net.SocketImpl此版本已刪除對為JavaSE1.3及更早版本編譯的自定義實現的支持。此更改對SocketImpl為Java SE 1.4(2002年發布)或更新版本編譯
的實現沒有影響。    12.2 核心庫/java.lang中,刪除運行時跟蹤方法,過時的方法traceInstructions(boolean),并traceMethodCalls(boolean)已經從刪除java.lang.Runtime類。這些方法對許多版本都不起作用,它們
的預期功能由Java虛擬機工具接口(JVMTI)提供。

關于“JDK13新特性有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

jdk
AI

衡山县| 岳阳市| 阿图什市| 龙江县| 定安县| 新和县| 博野县| 陵川县| 汶上县| 明水县| 铁岭市| 元氏县| 汶川县| 盱眙县| 东乌珠穆沁旗| 博罗县| 张家川| 从江县| 武强县| 称多县| 西峡县| 麻城市| 龙门县| 武冈市| 赤壁市| 图们市| 泰宁县| 连州市| 唐河县| 沂南县| 武陟县| 全椒县| 滁州市| 宣武区| 吴忠市| 桃江县| 太原市| 叙永县| 右玉县| 柳江县| 岑巩县|