偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JDK15正式發(fā)布,新增功能預(yù)覽!

開發(fā) 前端
根據(jù)發(fā)布的規(guī)劃,這次發(fā)布的 JDK 15 將是一個短期的過度版,只會被 Oracle 支持(維護)6 個月,直到明年 3 月的 JDK 16 發(fā)布此版本將停止維護。而 Oracle 下一個長期支持版(LTS 版)會在明年的 9 月份候發(fā)布(Java 17),LTS 版每 3 年發(fā)布一個,上一次長期支持版是 18 年 9 月發(fā)布的 JDK 11。
本文轉(zhuǎn)載自微信公眾號「Java中文社群」,作者磊哥 。轉(zhuǎn)載本文請聯(lián)系Java中文社群公眾號。 
 
 JDK 15 在 2020 年 9 月 15 號正式發(fā)布了,這次發(fā)布的主要功能有:

 

  • JEP 339:EdDSA 數(shù)字簽名算法
  • JEP 360:密封類(預(yù)覽)
  • JEP 371:隱藏類
  • JEP 372:刪除 Nashorn JavaScript 引擎
  • JEP 373:重新實現(xiàn) Legacy DatagramSocket API
  • JEP 374:重新實現(xiàn) DatagramSocket API
  • JEP 375:實例模式匹配(第二次預(yù)覽)
  • JEP 377:ZGC:一個可擴展的低延遲垃圾收集器
  • JEP 378:文本塊
  • JEP 379:低暫停時間垃圾收集器
  • JEP 381:移除 Solaris 和 SPARC 端口
  • JEP 383:外部存儲器訪問 API(第二個內(nèi)置程序)
  • JEP 384:Records(第二次預(yù)覽)
  • JEP 385:不推薦的 RMI 激活去除 

這些年發(fā)布的版本對應(yīng)的 JEPs 數(shù)量如下圖所示:

發(fā)布版本說明

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

JDK 15 新功能說明

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

1、EdDSA 數(shù)字簽名算法

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

2、隱藏類

此功能可幫助需要在運行時生成類的框架??蚣苌深愋枰獎討B(tài)擴展其行為,但是又希望限制對這些類的訪問。隱藏類很有用,因為它們只能通過反射訪問,而不能從普通字節(jié)碼訪問。此外,隱藏類可以獨立于其他類加載,這可以減少框架的內(nèi)存占用。這是一個新的功能。

3、重新實現(xiàn) DatagramSocket API

重新實現(xiàn)舊版 DatagramSocket API,更簡單、更現(xiàn)代的實現(xiàn)來代替java.net.DatagramSocket和java.net.MulticastSocketAPI 的基礎(chǔ)實現(xiàn),提高了 JDK 的可維護性和穩(wěn)定性。

4、ZGC 功能轉(zhuǎn)正

ZGC 已由JEP 333集成到JDK 11 中,其目標(biāo)是通過減少 GC 停頓時間來提高性能。借助 JEP 377,ZGC 從預(yù)覽功能轉(zhuǎn)變?yōu)樯a(chǎn)功能。

5、文本塊功能轉(zhuǎn)正

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

6、Shenandoah 垃圾回收算法轉(zhuǎn)正

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

7、密封類(預(yù)覽)

通過密封的類和接口來增強 Java 編程語言,用于限制超類的使用,密封的類和接口限制其它可能繼承或?qū)崿F(xiàn)它們的其它類或接口。

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

舊寫法:

  1. // 先判斷類型 
  2. if (obj instanceof String) { 
  3.     // 然后轉(zhuǎn)換 
  4.     String s = (String) obj; 
  5.     // 然后才能使用 

新寫法:

  1. if (obj instanceof String s) { 
  2.     // 如果類型匹配 直接使用 
  3. else { 
  4.     // 如果類型不匹配則不能直接使用 

這是第二次預(yù)覽該功能,我們已經(jīng)在 Java 14 中首次預(yù)覽過該特性。

9、Records Class(預(yù)覽)

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

舊寫法:

  1. class Point { 
  2.     private final int x; 
  3.     private final int y; 
  4.  
  5.     Point(int x, int y) {  
  6.         this.x = x; 
  7.         this.y = y; 
  8.     } 
  9.  
  10.     int x() { return x; } 
  11.     int y() { return y; } 
  12.  
  13.     public boolean equals(Object o) {  
  14.         if (!(o instanceof Point)) return false
  15.         Point other = (Point) o; 
  16.         return other.x == x && other.y = y; 
  17.     } 
  18.  
  19.     public int hashCode() { 
  20.         return Objects.hash(x, y); 
  21.     } 
  22.  
  23.     public String toString() {  
  24.         return String.format("Point[x=%d, y=%d]", x, y); 
  25.     } 

新寫法:

  1. record Point(int x, int y) { } 

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

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

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

11、其它功能

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

參考 & 鳴謝

碼農(nóng)小胖哥:https://mp.weixin.qq.com/s/rhfSLW0wfe73xgbRVvX46Q

官方日志:https://openjdk.java.net/projects/jdk/15/

 

責(zé)任編輯:武曉燕 來源: Java中文社群
相關(guān)推薦

2021-01-29 06:06:12

JDK15類加載Java

2009-01-14 13:51:19

Qt4SMPlayer

2011-08-04 09:52:18

Chrome 13

2021-01-29 06:03:29

JDK15JVM類加載器

2009-07-10 08:29:50

Silverlight

2011-05-25 09:30:05

Fedora 15

2020-05-11 15:01:16

JavaJKD 15工具

2013-09-12 13:38:58

Java甲骨文JDK

2015-09-22 11:18:14

watchOS 2測試漏洞

2011-07-29 09:31:32

JDK 7

2022-01-14 10:00:51

Windows微軟更新

2013-07-03 14:08:56

Opera 15瀏覽器

2021-09-22 08:48:32

iOS應(yīng)用系統(tǒng)

2012-02-01 09:05:59

微軟Office 15云計算

2014-09-02 16:05:22

Opera

2025-05-22 10:31:22

2016-01-04 11:18:08

Deepin 15深度操作系統(tǒng)Linux發(fā)行版

2021-09-27 22:29:39

iOS微信系統(tǒng)

2021-01-29 06:08:33

JDK15Java

2009-08-04 08:55:54

Apache Wick
點贊
收藏

51CTO技術(shù)棧公眾號