本篇內容主要講解“JDK15新特性介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JDK15新特性介紹”吧!
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供達孜企業(yè)網站建設,專注與網站設計制作、成都網站建設、HTML5、小程序制作等業(yè)務。10年已為達孜眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網絡公司優(yōu)惠進行中。
定義isEmpty用于測試字符序列是否為空的默認方法,CharSequence::isEmpty可以用 作方法參考。實現(xiàn)的類java.lang.CharSequence和定義isEmpty方法的另一個接口應注意 這一點,因為可能需要對其進行修改以覆蓋isEmpty方法。

此版本將Unicode支持升級到13.0,其中包括:java.lang.Character13.0水平, 這增加了13.0 5930個字符,總共143859個字符類支持Unicode字符數(shù)據(jù)庫。這些增加的內容包括4個新腳本,總共154個腳本, 以及55個新表情符號字符。
TreeMap重新實現(xiàn)壓倒性一切的如:putIfAbsent、computeIfAbsent、computeIfPresent、compute、merage
舉例說明putIfAbsent等價于如下:
default V putIfAbsent(K key, V value)
V v = map.get(key);
if (v == null){
v = map.put(key, value);
}
return v;優(yōu)勢:簡化了編寫Java程序的任務,同時避免了常見情況下的轉義序列;增強Java程序中表示用非Java語言編寫的代碼的字符串的可讀性。
String html = """ <html> <body> <p>Hello, world</p> </body> </html> """;
String query = """ SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB` WHERE `CITY` = 'INDIANAPOLIS' ORDER BY `EMP_ID`, `LAST_NAME`; """;
基于JVM構建的許多語言實現(xiàn)都依靠動態(tài)類生成來提高靈活性和效率。
詳情可見--> JEP371
淘汰-XXUseAdaptiveGDBoundary
使用java.io.ObjectInputStream.setObjectInputFilter方法設置序列化過濾器時,必 須在從流中讀取任何對象之前調用它。如果調用readObject或方法readUnshared,則該 setObjectInputFilter方法將引發(fā)IllegalStateException。
在某些情況下,String.substring返回“”,但在子字符串長度為零時,在所有情況下都可以進行改進。
之前邏輯是返回“”,需要增加一個新的地址,而目前為null,如下
public static String stripLeading(byte[] value) {
int left = indexOfNonWhitespace(value);
if (left == value.length) {
return "";
}
return (left != 0) ? newString(value, left, value.length - left) : null;
}DecimalFormat / DecimalFormatSymbols類現(xiàn)在可以處理貨幣值的分組分隔符。例如, 在奧地利(de-AT語言環(huán)境)中使用的德語語言的貨幣分組分隔符為“。”,而在其他德語語言環(huán)境 中的貨幣分組分隔符為“。”。
java.time.format.DateTimeFormatter.localizedBy(Locale)方法現(xiàn)在采用默認 的語言環(huán)境值,例如Chronology和/或DecimalStyle指定的語言環(huán)境參數(shù)。
例如,在先前的JDK版本中:
jshell> DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)
.localizedBy(Locale.forLanguageTag("fa"))
.format(LocalDate.now())
$3 ==> "???? 1 ??? 2020"數(shù)字是阿拉伯文(西文)數(shù)字,在JDK 15中:
jshell> DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)
.localizedBy(Locale.forLanguageTag("fa"))
.format(LocalDate.now())
$3 ==> "???? ? ??? ????"這些數(shù)字使用擴展阿拉伯語-印度數(shù)字,因為它是波斯語區(qū)域設置的默認編號系統(tǒng)。
ValueRange.of(long min,long maxSmallest,long maxLargest),如果 最小值大于最小最大值,則將引發(fā)異常。但是,僅當最小值大于最大最大值時才會發(fā)生例外。
1、InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)允 許指定要使用的解壓縮器和緩沖區(qū)大小。 2、InflaterOutputStream.write(byte[] b, int off, int len) 正在使用最大512字節(jié)的緩沖區(qū)大小寫入數(shù)據(jù)。 3、從JDK 15開始,通過InflaterOutputStream(OutputStream out, Inflater infl,int bufLen)所指定的緩沖區(qū)大小將在對的調用中使用InflaterOutputStream.write( byte[] b,int off, int len)。如果在調用InflaterOutputStream 構造函數(shù)時未指定緩沖 區(qū)大小,則默認為512字節(jié)。
復制集合的首選方法是使用“復制構造函數(shù)”。例如,要將集合復制到新的ArrayList中, 可以編寫new ArrayList<>(collection)。在某些情況下,可能會制作其他臨時副本,如 果要復制的集合非常大,則應用程序應(意識到/監(jiān)視)制作副本所需的大量資源。
針對G1堆區(qū)域大小的改進
默認的堆區(qū)域大小計算已更改為默認情況下返回較大的區(qū)域。計算仍以2048個區(qū)域為目標, 但是兩個方面發(fā)生了變化,這些更改提高了啟動和運行時性能 1、僅考慮最大堆大小。舊的計算還考慮了初始堆大小,但是當未設置堆大小時,這可能會 產生意外的行為。 2、區(qū)域大小四舍五入到最接近的2的冪,而不是減小。在最大堆大小不是2的冪的情況下, 這將返回更大的區(qū)域大小。
Z垃圾收集器(ZGC)現(xiàn)在可以在生產中使用,不再標記為實驗功能。通過使用-XX:+UseZGC命 令行選項啟用ZGC
提供模式匹配來 增強Java編程語言instanceof
if (obj instanceof String s) {
// can use s here } else { // can't use s here }@Data@AllArgsConstructorclass Group {// 組名 private String name;// 人數(shù) private int nums;
}使用它可以替代構造器、equal方法、toString方法,hashCode方法
Point(String name,int nums){}Java語言中一種新型的類型聲明。像枚舉一樣enum, record是類的受限形式。聲明其表示形式,并提交與該表示形式匹配的API。記錄放棄了類通常享有的自由:將API與表示分離的能力。作為回報,記錄獲得了很大程度的簡潔性。
到此,相信大家對“JDK15新特性介紹”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
文章題目:JDK15新特性介紹
網頁地址:http://chinadenli.net/article48/ggpdep.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供Google、品牌網站制作、搜索引擎優(yōu)化、網站策劃、網站制作、用戶體驗
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)