網(wǎng)友評分: 5分
Java SE Development Kit是一款由甲骨文Oracle公司所推出的Java開發(fā)工具包。它包含Java運行環(huán)境、Java開發(fā)工具和Java基礎(chǔ)類庫源代碼,用于開發(fā)和測試用Java編程語言編寫并在Java平臺上,該版本支持離線安裝,無需聯(lián)網(wǎng)。
1、switch新增模式(預(yù)覽版)
使用 switch 表達(dá)式和語句的模式匹配以及對模式語言的擴展來增強 Java 編程語言。將模式匹配擴展到 switch 允許針對多個模式測試表達(dá)式,每個模式都有特定的操作,以便可以簡潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢?;贘DK16 instanceof模式匹配(最終版)優(yōu)化升級switch使用方法,先回憶下JDK16模式匹配(最終版)
if (obj instanceof String s) {
// 直接使用 s拼接字符串
s += "heihei";
} else if (obj instanceof Integer i){
// 直接使用i進(jìn)行整型邏輯運算
i += 1;
}
switch可直接用instanceof模式匹配選擇(需要提前考慮null判斷)
Object o;
switch (o) {
case null -> System.out.println("首先判斷對象是否為空,走空指針邏輯等后續(xù)邏輯");
case String s -> System.out.println("判斷是否為字符串,s:" + s);
case record p -> System.out.println("判斷是否為Record類型: " + p.toString());
case int[] arr -> System.out.println("判斷是否為數(shù)組,展示int數(shù)組的長度" + ia.length);
case Integer i -> System.out.println("判斷是否為Intger對象,i:" + i);
case Student s -> System.out.println("判斷是否為具體學(xué)生對象,student:" + s.toString());
case UserCommonService -> System.out.println("判斷是否為普通用戶實現(xiàn)類,然后走普通用戶邏輯");
case UserVipService -> System.out.println("判斷是否為vip用戶實現(xiàn)類,然后走vip用戶邏輯");
default -> System.out.println("Something else");
}
2、Realed class密封類(最終版)
密封類和接口限制哪些其他類或接口可以擴展或?qū)崿F(xiàn)它們。
public sealed interface Shape{
final class Planet implements Shape {}
final class Star implements Shape {}
final class Comet implements Shape {}
}
public abstract sealed class Test{
final class A extends Test {}
final class B extends Test {}
final class C extends Test {}
}
3、隨機數(shù)增強
為偽隨機數(shù)生成器 (PRNG) 提供新的接口類型和實現(xiàn),包括可跳轉(zhuǎn)的 PRNG 和額外的一類可拆分 PRNG 算法 (LXM)。
4、浮點運算更加嚴(yán)格
簡化數(shù)字敏感庫開發(fā),包括java.lang.Math和java.lang.StrictMath(對開發(fā)無實際意義)
5、Parallel GC 默認(rèn)啟用
Parallel GC 默認(rèn)啟用自適應(yīng)并行處理,并行GC確定java.lang.ref.Reference在垃圾收集期間用于處理實例的最佳線程數(shù)。
默認(rèn)-XX:ParallelRedProcEnabled: true。在有多個線程可用于垃圾收集的機器上,明顯改善了垃圾收集暫停的階段,如果遇到垃圾收集暫停增加的情況,可以通過-XX:ParallelRedProcEnabled在命令行上指定到原始行為
6、增強TreeMap
增強JDK-8176894(TreeMap 沒有對 putIfAbsent()、computeIfAbsent()、computeIfPresent()、compute() 方法的專門實現(xiàn)。默認(rèn)實現(xiàn)經(jīng)常導(dǎo)致兩次樹遍歷,這會損害性能)
7、棄用Socket實現(xiàn)工廠機制
棄用并最終刪除用于為java.net 包中的套接字類型靜態(tài)配置系統(tǒng)范圍工廠 的 API 點
具體如下:
* 方法:
static void ServerSocket.setSocketFactory (SocketImplFactory fac)
static void Socket.setSocketImplFactory (SocketImplFactory fac)
static void DatagramSocket.setDatagramSocketImplFactory (DatagramSocketImplFactory fac)
* Types
java. net SocketImplFactory
java.net DatagramSocketImplFactory
也可以棄用java.net SocketImplFactory 和 DatagramSocketImplFactory 類型 ,因為它們的唯一用途與上述工廠有關(guān) 設(shè)置方法。
8、統(tǒng)一日志支持異步日志刷新
為了避免在使用統(tǒng)一日志的線程中出現(xiàn)不希望的延遲,用戶現(xiàn)在可以請求統(tǒng)一日志系統(tǒng)以異步模式運行。通過傳遞命令行選項來完成的-Xlog:async。在異步日志模式下,日志站點將所有日志消息排入緩沖區(qū)。獨立線程負(fù)責(zé)將它們刷新到相應(yīng)的輸出。中間緩沖區(qū)是有界的。緩沖區(qū)耗盡時,將丟棄排隊消息??梢允褂妹钚羞x項控制中間緩沖區(qū)的大小-XX:AsyncLogBufferSize=<bytes>。
9、新增 java.time.InstantSource
java.time.InstantSource引入了一個新界面。這個接口是一個抽象java.time.Clock,只關(guān)注當(dāng)前時刻,不涉及時區(qū)。
10、javadoc工具
新的“新 API”頁面和改進(jìn)的“棄用”頁面,JavaDoc 現(xiàn)在可以生成一個頁面,總結(jié)最近 API 的變化。要包含的最新版本列表是使用--since命令行選項指定的。這些值用于查找@since要包含在新頁面上的具有匹配標(biāo)簽的聲明。該--since-label命令行選項提供了“新API”頁面的標(biāo)題文本使用。
解壓期間系統(tǒng)錯誤
如果您看到錯誤消息:system error during decompression,則包含該TEMP目錄的磁盤上可能沒有足夠的空間。
程序無法在 DOS 模式下運行
如果您看到錯誤消息:This program cannot be run in DOS mode,請執(zhí)行以下操作:
打開 MS-DOS 外殼程序或命令提示符窗口。
右鍵單擊標(biāo)題欄。
選擇屬性。
選擇程序選項卡。
單擊高級。
確保未選中防止基于 MS-DOS 的程序檢測 Windows 項。
選擇確定。
再次選擇確定。
退出 MS-DOS 外殼。
重啟你的電腦。
不屬于系統(tǒng)代碼頁的字符
如果安裝目錄不是系統(tǒng)區(qū)域設(shè)置代碼頁的一部分,則可能會出現(xiàn) 1722 錯誤。為防止出現(xiàn)這種情況,請確保用戶和系統(tǒng)區(qū)域設(shè)置相同,并且安裝路徑僅包含作為系統(tǒng)區(qū)域設(shè)置代碼頁一部分的字符??梢栽趨^(qū)域選項或區(qū)域設(shè)置控制面板中設(shè)置用戶和系統(tǒng)區(qū)域設(shè)置。
相關(guān)的錯誤編號是 4895647。
在 JDK 卸載失敗后清理注冊表
有時,嘗試通過 Windows添加/刪除程序卸載 JDK 會 在注冊表中留下一些未完全刪除的 Java 條目。這些遺留的注冊表項可能會導(dǎo)致安裝新版本 Java 時出現(xiàn)問題。以下是清理注冊表項的方法:
程序安裝和卸載疑難解答(推薦方法)
手動注冊表編輯
程序安裝和卸載疑難解答(推薦方法)
運行程序安裝和卸載疑難解答來修復(fù)損壞的注冊表項,這些注冊表項會阻止程序完全卸載或阻止新的安裝和更新。
手動編輯注冊表(僅當(dāng) Fix It 實用程序不起作用時才使用此功能)
錯誤地編輯您的注冊表可能會嚴(yán)重?fù)p壞您的系統(tǒng)。在更改注冊表之前,您應(yīng)該從您的計算機備份任何有價值的數(shù)據(jù)。
使用File->Export注冊表編輯器的功能在刪除之前保存注冊表項。如果您刪除了錯誤的注冊表項,您可以使用該File->Import功能從保存的備份文件中恢復(fù)注冊表。
要刪除注冊表項:
確定正確的注冊表項。請參閱查找 JDK 注冊表項和 UninstallString 值。
突出顯示該鍵,右鍵單擊并選擇 Delete。
出現(xiàn)提示時單擊是。
JDK 被卸載。
html2canvas.js 免費版 482K | 簡體中文 | 10
詳情intellij idea 2022.1.0破解版 32位/64位 中文免費版 693.24M | 簡體中文 | 3.2
詳情jdk8 32位安裝包 V8.0.3410.10 免費版 157.7M | 簡體中文 | 5.2
詳情JAVA JDK V15.0.1 官方免費版 159.43M | 簡體中文 | 5
詳情Java SE Development Kit 64位 U8.0.331 官方最新版 172.54M | 簡體中文 | 8.3
詳情eclipse 64位 V4.8 官方最新版 312.3M | 簡體中文 | 8.3
詳情關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 hanheng168.com.All rights reserved.
浙ICP備2024132706號-1 浙公網(wǎng)安備33038102330474號