這篇文章將為大家詳細(xì)講解有關(guān)JDK13新特性有哪些,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)富拉爾基免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。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.1、html例子
JDK13之前
String html = "<html>\n" + " <body>\n" + " <p>Hello, world</p>\n" + " </body>\n" + "</html>\n";
JDK13優(yōu)化的:
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 """
相當(dāng)于字符串文字:
"line 1\nline 2\nline 3\n"
目標(biāo):
提高應(yīng)用程序類 - 數(shù)據(jù)共享(AppCDS)的可用性。消除了用戶進(jìn)行試運(yùn)行以創(chuàng)建每個應(yīng)用程序的類列表的需要。-Xshare:dump使用類列表由該選項(xiàng)啟用的靜態(tài)歸檔應(yīng)繼續(xù)工作。這包括內(nèi)置類加載器和用戶定義的類加載器的類。
摘要:
增強(qiáng)ZGC以將未使用的堆內(nèi)存返回給操作系統(tǒng)。
動機(jī):
ZGC目前沒有取消提交并將內(nèi)存返回給操作系統(tǒng),即使該內(nèi)存長時(shí)間未使用。對于所有類型的應(yīng)用程序和環(huán)境,此行為并非最佳, 尤其是那些需要關(guān)注內(nèi)存占用的應(yīng)用程序和環(huán)境 例如:通過使用支付資源的容器環(huán)境。應(yīng)用程序可能長時(shí)間處于空閑狀態(tài)并與許多其 他應(yīng)用程序共享或競爭資源的環(huán)境。應(yīng)用程序在執(zhí)行期間可能具有非常不同的堆空間要求。 例如,啟動期間所需的堆可能大于穩(wěn)態(tài)執(zhí)行期間稍后所需的堆。HotSpot中的其他垃圾收集器,如G1和Shenandoah,今天提供 了這種功能,某些類別的用戶發(fā)現(xiàn)它非常有用。將此功能添加到ZGC將受到同一組用戶的歡迎。
摘要:
使用更簡單,更現(xiàn)代的實(shí)現(xiàn)替換java.net.Socket和java.net.ServerSocketAPI 使用的底層實(shí)現(xiàn),易于維護(hù)和調(diào)試。新的實(shí) 現(xiàn)很容易適應(yīng)用戶模式線程,也就是光纖,目前正在Project Loom中進(jìn)行探索。
動機(jī):
在java.net.Socket和java.net.ServerSocketAPI,以及它們的底層實(shí)現(xiàn),可以追溯到JDK 1.0。實(shí)現(xiàn)是遺留Java和C代 碼的混合,維護(hù)和調(diào)試很痛苦。該實(shí)現(xiàn)使用線程堆棧作為I/O緩沖區(qū),這種方法需要多次增加默認(rèn)線程堆棧大小。該實(shí)現(xiàn)使用本機(jī)數(shù)據(jù) 結(jié)構(gòu)來支持異步關(guān)閉,這是多年來微妙可靠性和移植問題的根源。該實(shí)現(xiàn)還有幾個并發(fā)問題,需要進(jìn)行大修才能正確解決。在未來的光 纖世界環(huán)境中,而不是在本機(jī)方法中阻塞線程,當(dāng)前的實(shí)現(xiàn)不適用于目的。加q群:478052716 免費(fèi)領(lǐng)?。↗ava架構(gòu)資料,視頻資料,BATJ面試資料)
核心庫/ java.nio中添加了FileSystems.newFileSystem(Path,Map <String,?>)方法
添加了三種新方法java.nio.file.FileSystems
,以便更輕松地使用將文件內(nèi)容視為文件系統(tǒng)的文件系統(tǒng)提供程序。
1、newFileSystem(Path)2、newFileSystem(Path, Map<String, ?>)3、newFileSystem(Path, Map<String, ?>, ClassLoader) 添加為newFileSystem(Path, Map<String, ?>) 已使用現(xiàn)有2-arg newFileSystem(Path, ClassLoader)并指定類加載器 的代碼創(chuàng)建源(但不是二進(jìn)制)兼容性問題。null.例如,由于引用newFileSystem不明確,因此無法編譯以下內(nèi)容: FileSystem fs = FileSystems.newFileSystem(path, null);為了避免模糊引用,需要修改此代碼以將第二個參數(shù)強(qiáng)制轉(zhuǎn)換為java.lang.ClassLoader。
核心庫/ java.nio中新的java.nio.ByteBuffer批量獲取/放置方法轉(zhuǎn)移字節(jié)而不考慮緩沖區(qū)位置。
java.nio.ByteBufferjava.nio現(xiàn)在,其他緩沖區(qū)類型定義絕對批量get和put傳輸連續(xù)字節(jié)序列的方法,而不考慮或影響緩沖 區(qū)位置。
新日本時(shí)代名稱Reiwa,此更新中添加了代表新Reiwa時(shí)代的實(shí)例。與其他時(shí)代不同,這個時(shí)代沒有公共領(lǐng)域。它可以通過調(diào)用JapaneseEra.of(3)或獲得JapaneseEra.valueOf("Reiwa")。JDK13及更高版本將有一個新的公共領(lǐng)域來代表這個時(shí)代。 NewEra從2019年5月1日開始的日本時(shí)代的占位符名稱“ ”已被新的官方名稱取代。依賴占位符名稱(請參閱JDK-8202088)獲 取新時(shí)代單例(JapaneseEra.valueOf("NewEra"))的應(yīng)用程序?qū)⒉辉倨鹱饔谩U垍㈤咼DK-8205432
支持Unicode 12.1,此版本將Unicode支持升級到12.1,其中包括以下內(nèi)容:
java.lang.Character支持12.1級的Unicode字符數(shù)據(jù)庫,其中12.0從11.0開始增加554個字符,總共137,928個 字符。這些新增內(nèi)容包括4個新腳本,總共150個腳本,以及61個新的表情符號字符。U+32FF SQUARE ERA NAME REIWA從 12.0開始,12.1只添加一個字符。java.text.Bidi和java.text.Normalizer類分別支持12.0級的Unicode標(biāo)準(zhǔn)附件, #9和#15。java.util.regexpackage支持基于12.0級Unicode標(biāo)準(zhǔn)附件#29的擴(kuò)展字形集群。
10.1 JEP 351 ZGC取消提交未使用的存儲器 10.2 添加了-XXSoftMaxHeapSize標(biāo)志 10.3 ZGC支持的大堆大小從4TB增加到16TB
11.1 該com.sun.security.crl.readtimeout系統(tǒng)屬性設(shè)置為CRL檢索的大讀取超時(shí),單位為秒。如果尚未設(shè)置該屬性, 或者其值為負(fù),則將其設(shè)置為默認(rèn)值15秒。值0表示無限超時(shí)。 11.2 新的keytool -showinfo -tls用于顯示TLS配置信息的命令keytool -showinfo -tls添加了一個顯示TLS配置信 息的新命令。 11.3 SunMSCAPI提供程序現(xiàn)在支持以下一代加密(CNG)格式讀取私鑰。這意味著CNG格式的RSA和EC密鑰可從Windows密鑰 庫加載,例如“Windows-MY”。與EC(簽名算法SHA1withECDSA,SHA256withECDSA等等)也支持。
刪除的部分功能:
12.1 核心庫/java.net中,不再支持Pre-JDK 1.4 SocketImpl實(shí)現(xiàn)java.net.SocketImpl此版本已刪除對為JavaSE1.3及更早版本編譯的自定義實(shí)現(xiàn)的支持。此更改對SocketImpl為Java SE 1.4(2002年發(fā)布)或更新版本編譯 的實(shí)現(xiàn)沒有影響。 12.2 核心庫/java.lang中,刪除運(yùn)行時(shí)跟蹤方法,過時(shí)的方法traceInstructions(boolean),并traceMethodCalls(boolean)已經(jīng)從刪除java.lang.Runtime類。這些方法對許多版本都不起作用,它們 的預(yù)期功能由Java虛擬機(jī)工具接口(JVMTI)提供。
關(guān)于“JDK13新特性有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
本文標(biāo)題:JDK13新特性有哪些-創(chuàng)新互聯(lián)
文章路徑:http://m.newbst.com/article14/dihgde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、云服務(wù)器、網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化、微信小程序、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容