Java SE Development Kit (JDK23) v23.0.2 Win64 官方免費正式版
202MB / 01-22
Java SE Development Kit 22(JDK22) v22.0.2 Win64 官方最新正式
162MB / 07-17
Java SE Development Kit(jdk1.8/jre1.8) 8u461 java8 i586 java
164MB / 07-16
Java SE Development Kit(JDK1.8) jdk-8u461-windows-x64.exe 64
167MB / 07-16
JDK12(Java SE Development Kit) 12.0.2 官方中文正式版 Win64位
157MB / 09-18
JDK11(Java SE Development Kit 11) 官方中文正式版 64位
149MB / 09-26
JDK11(Java SE Development Kit 11) v11.0.28 x64 LTS 長期支持
140MB / 07-16
JDK10(Java SE Development Kit 10) 10.2 官方正式版(附安裝配置
388.5MB / 08-16
Java SE Development Kit(JDK) 21.0.8 LTS 官方正式版 Win64
162MB / 08-01
Java SE Development Kit 20(JDK20) v20.0.2 官方最新正式版 win
158MB / 01-18
-
Java SE Development Kit(JDK) 17.0.16 官方正式版 Win64 編程工具 / 152MB
-
Java SE Development Kit(JDK) 21.0.8 LTS 官方正式版 Win64 編程工具 / 162MB
-
VScode神級Ai代碼插件 Continue v1.1.71 開源版 編程工具 / 76.2MB
-
Microsoft Visual Studio 2022 Build Tools構(gòu)建工具 v17.14.3632 編程工具 / 4.0MB
-
微軟Microsoft Visual Studio 2022 v17.14.10 企業(yè)版/專業(yè)版/社 編程工具 / 16.1MB
-
-
-
JetBrains RubyMine v2025.1.4.1 中文正式免費版(附安裝教程) 64 編程工具 / 710MB
-
-
小碼王學習中心 V1.6.1 官方安裝版 編程工具 / 254MB
詳情介紹
Java 17 LTS 是 Java SE 平臺的最新長期支持版本。 根據(jù) Oracle 免費條款和條件許可,JDK 17 二進制文件可在生產(chǎn)中免費使用,并可免費重新分發(fā)。JDK 17 將根據(jù)這些條款接收更新,至少在 2024 年 9 月之前。JDK 是使用 Java 編程語言構(gòu)建應(yīng)用程序和組件的開發(fā)環(huán)境。JDK 包括用于開發(fā)和測試用 Java 編程語言編寫并在 Java 平臺上運行的程序的工具。本次提供的是Java SE Development Kit(JDK) 17 for Windows官方版本下載,歡迎需要此款工具的朋友前來下載使用。
JDK17新特性詳解
預(yù)覽版:該功能在當前版本可以使用,如果效果不是很好的話,可能以后的其他版本就會刪去該功能。
最終版:該功能在之前版本效果很好,之后的每個版本中都會存在該功能。
1、switch新增模式(預(yù)覽版)
使用 switch 表達式和語句的模式匹配以及對模式語言的擴展來增強 Java 編程語言。將模式匹配擴展到 switch 允許針對多個模式測試表達式,每個模式都有特定的操作,以便可以簡潔安全地表達復雜的面向數(shù)據(jù)的查詢。基于JDK16 instanceof模式匹配(最終版)優(yōu)化升級switch使用方法,先回憶下JDK16模式匹配(最終版)
if (obj instanceof String s) {
// 直接使用 s拼接字符串
s += "heihei";
} else if (obj instanceof Integer i){
// 直接使用i進行整型邏輯運算
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("判斷是否為具體學生對象,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、浮點運算更加嚴格
簡化數(shù)字敏感庫開發(fā),包括java.lang.Math和java.lang.StrictMath(對開發(fā)無實際意義)
5、Parallel GC 默認啟用
Parallel GC 默認啟用自適應(yīng)并行處理,并行GC確定java.lang.ref.Reference在垃圾收集期間用于處理實例的最佳線程數(shù)。
默認-XX:ParallelRedProcEnabled: true。在有多個線程可用于垃圾收集的機器上,明顯改善了垃圾收集暫停的階段,如果遇到垃圾收集暫停增加的情況,可以通過-XX:ParallelRedProcEnabled在命令行上指定到原始行為
6、增強TreeMap
增強JDK-8176894(TreeMap 沒有對 putIfAbsent()、computeIfAbsent()、computeIfPresent()、compute() 方法的專門實現(xiàn)。默認實現(xiàn)經(jīng)常導致兩次樹遍歷,這會損害性能)
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ū)。獨立線程負責將它們刷新到相應(yīng)的輸出。中間緩沖區(qū)是有界的。緩沖區(qū)耗盡時,將丟棄排隊消息。可以使用命令行選項控制中間緩沖區(qū)的大小-XX:AsyncLogBufferSize=<bytes>。
9、新增 java.time.InstantSource
java.time.InstantSource引入了一個新界面。這個接口是一個抽象java.time.Clock,只關(guān)注當前時刻,不涉及時區(qū)。
10、javadoc工具
新的“新 API”頁面和改進的“棄用”頁面,JavaDoc 現(xiàn)在可以生成一個頁面,總結(jié)最近 API 的變化。要包含的最新版本列表是使用--since命令行選項指定的。這些值用于查找@since要包含在新頁面上的具有匹配標簽的聲明。該--since-label命令行選項提供了“新API”頁面的標題文本使用。
Java SE Development Kit 17安裝教程
1、在本站下載并解壓縮后,雙擊“jdk-17_windows-x64_bin.exe”,根據(jù)安裝向?qū)崾荆x擇“下一步”
2、默認安裝在C盤,繼續(xù)“下一步”
3、正在安裝,稍等片刻即可,中途不要關(guān)閉電腦
4、好了,到這里Java SE Development Kit 17就安裝完成啦
安裝 JDK 17 和 JRE 8 時修復 Shim 情況
當您安裝 JDK 17,然后安裝 JRE 8,然后運行該 java -version命令時,1.8.0輸出中顯示的是17。這是因為 javapath位于用戶環(huán)境路徑中 JDK 17 位置之前。
這是 JRE 8 安裝程序的一個錯誤。要解決此填充程序的情況,請卸載并重新安裝 JDK 17。
JDK安裝疑難解答
解壓期間系統(tǒng)錯誤
如果您看到錯誤消息:system error during decompression,則包含該TEMP目錄的磁盤上可能沒有足夠的空間。
程序無法在 DOS 模式下運行
如果您看到錯誤消息:This program cannot be run in DOS mode,請執(zhí)行以下操作:
打開 MS-DOS 外殼程序或命令提示符窗口。
右鍵單擊標題欄。
選擇屬性。
選擇程序選項卡。
單擊高級。
確保未選中防止基于 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 條目。這些遺留的注冊表項可能會導致安裝新版本 Java 時出現(xiàn)問題。以下是清理注冊表項的方法:
程序安裝和卸載疑難解答(推薦方法)
手動注冊表編輯
程序安裝和卸載疑難解答(推薦方法)
運行程序安裝和卸載疑難解答來修復損壞的注冊表項,這些注冊表項會阻止程序完全卸載或阻止新的安裝和更新。
手動編輯注冊表(僅當 Fix It 實用程序不起作用時才使用此功能)
錯誤地編輯您的注冊表可能會嚴重損壞您的系統(tǒng)。在更改注冊表之前,您應(yīng)該從您的計算機備份任何有價值的數(shù)據(jù)。
使用File->Export注冊表編輯器的功能在刪除之前保存注冊表項。如果您刪除了錯誤的注冊表項,您可以使用該File->Import功能從保存的備份文件中恢復注冊表。
要刪除注冊表項:
確定正確的注冊表項。請參閱查找 JDK 注冊表項和 UninstallString 值。
突出顯示該鍵,右鍵單擊并選擇 Delete。
出現(xiàn)提示時單擊是。
JDK 被卸載。
在 Windows 上卸載 JDK
要卸載 JDK 17,請使用Microsoft Windows控制面板中的添加/刪除程序?qū)嵱贸绦颉?/p>
在靜默模式下卸載 JDK
您可以使用命令行卸載 JDK。
使用以下命令以靜默模式卸載JDK:
MsiExec.exe/X{<UninstallString>}
例如,要卸載 JDK 15,請運行以下命令:
MsiExec.exe /X{E04E5624-3CF1-5E84-A439-4D8FAAA05C79}
更新日志
Java™ SE 開發(fā)工具包 17,更新 17.0.16 (JDK 17.0.16)
7月 15, 2025
此更新版本的完整版本字符串是 17.0.16+12(其中“+”表示“生成”)。 版本號為 17.0.16。此 JDK 符合 Java SE 規(guī)范 17.1 版 (JSR 392 MR 1 2024-07-02)。
IANA TZ 數(shù)據(jù) 2025b
JDK 17.0.16 包含 IANA 時區(qū)數(shù)據(jù) 2025b,其中包含以下更改:
智利艾森地區(qū)的新區(qū)域,從 -04/-03 移至 -03。
有關(guān)詳細信息,請參閱 JRE 軟件中的時區(qū)數(shù)據(jù)版本。
安全基線
下表指定了 JDK 17.0.16 發(fā)布時 Java 運行時的安全基線:
Java 系列版本 安全基線(完整版本字符串)
17 17.0.16+12
11 11.0.28+12
8 1.8.0_461-b11
使 JDK 保持最新狀態(tài)
Oracle 建議在每次關(guān)鍵補丁更新時更新 JDK。 為了確定某個版本是否是最新版本,“安全基線”頁面可以 用于確定每個版本系列的最新版本。
包含安全漏洞修復的關(guān)鍵補丁更新會提前一年公布 關(guān)鍵補丁更新、安全警報和公告。 不建議在計劃的下一個關(guān)鍵補丁更新之后使用此 JDK(版本 17.0.16) 2025 年 10 月 21 日。
Java 管理服務(wù)可供所有用戶使用,可以幫助您在系統(tǒng)中查找易受攻擊的 Java 版本。在 Oracle Cloud 中運行的 Java SE 訂閱者和客戶可以使用 Java 管理服務(wù)來更新 Java 運行時并執(zhí)行進一步的安全審查,例如識別 Java 程序使用的潛在易受攻擊的第三方庫。現(xiàn)有 Java 管理服務(wù)用戶單擊此處登錄您的儀表板。Java Management Service 文檔提供了對所有人可用的功能列表,以及僅對客戶可用的功能。了解有關(guān)使用 Java Management Service 監(jiān)視和保護 Java 安裝的更多信息。
刪除的功能和選項
security-libs/java.security
? 在到期日期后刪除了 Baltimore CyberTrust 根證書 (JDK-8303770)
以下過期的根證書已從密鑰庫中刪除:cacerts
+ alias name "baltimorecybertrustca [jdk]"
Distinguished Name: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE
security-libs/java.security
? 刪除了兩個 Camerfirma 根證書 (JDK-8350498)
以下已終止且不再使用的根證書已從密鑰庫中刪除:cacerts
+ alias name "camerfirmachamberscommerceca [jdk]"
Distinguished Name: CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU
+ alias name "camerfirmachambersignca [jdk]"
Distinguished Name: CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU
其他說明
security-libs/java.security
? 添加了 4 個來自 Sectigo Limited 的新根證書 (JDK-8359170)
以下根證書已添加到 cacerts 信任庫中:
+ Sectigo Limited
+ sectigocodesignroote46
DN: CN=Sectigo Public Code Signing Root E46, O=Sectigo Limited, C=GB
+ Sectigo Limited
+ sectigocodesignrootr46
DN: CN=Sectigo Public Code Signing Root R46, O=Sectigo Limited, C=GB
+ Sectigo Limited
+ sectigotlsroote46
DN: CN=Sectigo Public Server Authentication Root E46, O=Sectigo Limited, C=GB
+ Sectigo Limited
+ sectigotlsrootr46
DN: CN=Sectigo Public Server Authentication Root R46, O=Sectigo Limited, C=GB
安裝/安裝
? 使用 OL9 簽名密鑰對 oracle.com JDK RPM 包進行簽名 (JDK-8351906(非公開))
oracle.com 個旨在直接下載到目標系統(tǒng)的 JDK RPM 包現(xiàn)在使用 OL9 簽名密鑰而不是 OL8 簽名密鑰進行簽名。托管在 YUM 存儲庫上的 RPM 包仍使用目標存儲庫的相應(yīng)密鑰進行簽名。
core-libs/javax.naming
? 更新 com.sun.jndi.ldap.object.trustSerialData 系統(tǒng)屬性的默認值 (JDK-8290367)
在此版本中,默認情況下,LDAP 提供程序的 JDK 實現(xiàn)不再支持 Java 對象的反序列化:
系統(tǒng)屬性的默認值已更新為 。com.sun.jndi.ldap.object.trustSerialDatafalse
從 LDAP 上下文對 Java 對象進行透明反序列化現(xiàn)在需要顯式選擇加入。依賴于 LDAP 屬性重建 Java 對象或 RMI 存根的應(yīng)用程序需要將系統(tǒng)屬性設(shè)置為 。com.sun.jndi.ldap.object.trustSerialDatatrue
security-libs/jdk.security
? 如果刪除了條目,Jarsigner 應(yīng)打印警告 (JDK-8309841)
如果從已簽名的 JAR 文件中刪除了某個條目,則沒有機制可以檢測該條目是否已使用 API 被刪除,因為該方法返回的就好像該條目從未存在過一樣。通過此更改,該命令會分析簽名文件,如果某些部分沒有匹配的文件條目,它會打印出以下警告:“此 JAR 包含不存在的文件的簽名條目”。用戶可以通過向命令添加選項來進一步查找這些條目的名稱。JarFilegetJarEntrynulljarsigner -verify-verbose
錯誤修復
此版本還包含針對 Oracle 關(guān)鍵補丁更新中描述的安全漏洞的修復。
? 17.0.16 中修復的問題:
# JBS公司 元件 總結(jié)
1 JDK-8348597 客戶端庫/2d 將 HarfBuzz 更新到 10.4.0
2 JDK-8348596 客戶端庫/2d 將 FreeType 更新到 2.13.3
3 JDK-8348600 客戶端庫/java.awt 將 PipeWire 更新到 1.3.81
4 JDK-8348598 客戶端庫/java.awt 將 Libpng 更新至 1.6.47
5 JDK-8280468 客戶端庫/java.awt Linux 上的 getConfigColormap、getConfigVisualId、XVisualIDFromVisual 崩潰
6 JDK-8286447 客戶端庫/java.awt [Linux]如果未安裝 headful AWT 庫,則 AWT 應(yīng)以無頭模式啟動
7 JDK-8280991 客戶端庫/java.awt [XWayland]setDisplayMode 調(diào)用后沒有 displayChanged 事件
8 JDK-8286204 客戶端庫/javax.accessibility [輔助功能,macOS,旁白]當用戶在 macOS 上首次迭代到 10 時,VoiceOver 會將微調(diào)器值 10 讀取為 1
9 JDK-8345728 客戶端庫/javax.accessibility [輔助功能,macOS,屏幕放大鏡]:JCheckbox 未選中狀態(tài)不放大,但適用于選中狀態(tài)
10 JDK-8348936 客戶端庫/javax.accessibility [輔助功能,macOS,旁白]VoiceOver 不會宣布在 macOS 上使用“空格”鍵切換復選框時取消選中
11 JDK-8266435 客戶端庫/javax.imageio WBMPImageReader.read() 不應(yīng)截斷輸入流
12 JDK-6928542 客戶端庫/javax.swing RTF 中的漢字不被解碼
13 JDK-8224267 客戶端庫/javax.swing 帶有 5000+ 換行符的 JOptionPane 消息字符串產(chǎn)生 StackOverflowError
14 JDK-8318915 核心庫/java.math 增強 BigDecimal.toPlainString() 中的檢查
15 JDK-8344589 核心庫/java.util:i18n 將 IANA 語言子標記注冊表更新至版本 2024-11-19
16 JDK-8356096 核心庫/java.util:i18n ISO 4217 修正案 179 更新
17 JDK-8299858 core-svc/java.lang.management [指標]交換內(nèi)存限制過大時報告錯誤
18 JDK-8297173 core-svc/java.lang.management usageTicks 和 totalTicks 應(yīng)該是易失性的,以確保不同的線程獲得最新的 tick
19 JDK-8345296 熱點/編譯器 AArch64:不允許 prctl 時,虛擬機與 SIGILL 崩潰
20 JDK-8357105 熱點/編譯器 C2:編譯失敗,并顯示“assert(false) failed: opty program during loop optimization detected empty program”
21 JDK-8339148 熱點/運行時 將 os::Linux::active_processor_count() 公開
22 JDK-8300645 熱點/運行時 處理GET_CONTAINER_INFO宏日志記錄中的 julong 值
23 JDK-8300658 熱點/運行時 memory_and_swap_limit() 在 swapAccount=0 的系統(tǒng)上報告錯誤的值
24 JDK-8311546 security-libs/java.security 證書名稱約束未正確驗證前導句點
下載地址
人氣軟件
Java SE Development Kit(JDK) 17.0.16 官方正式版 Win64
JDK11(Java SE Development Kit 11) v11.0.28 x64 LTS 長期支持
JetBrains Pycharm Pro v2025.1.3.1 中文專業(yè)免費正式版(附漢化
EXT界面圖形工具Ext Designer 特別版
intellij IDEA v2025.1.4.1 社區(qū)版 官方中文正式版(附漢化包+安
myeclipse2016破解工具 v1.0 破解補丁(附安裝教程)
Java SE Development Kit(JDK) 17.0.15 官方正式版 Linux64
Java SE Development Kit(JDK1.8) jdk-8u461-windows-x64.exe 64
安卓集成開發(fā)工具Android Studio 2025.1.1.14 + SDK 2024.1.09 W
Zend Studio 10.1.0與10.0.1 破解文件與注冊碼打包
相關(guān)文章
-
Java SE Development Kit (JDK7) 介紹與配置方法
JDK是整個Java的核心,包括了Java運行環(huán)境(Java Runtime Envirnment),一堆Java工具和Java基礎(chǔ)的類庫(rt.jar)。不論什幺Java應(yīng)用服務(wù)器實質(zhì)都是內(nèi)置了某個版本的JDK。因...
-
Java配置 JDK開發(fā)環(huán)境搭建及環(huán)境變量配置詳細圖文教程
這篇文章主要介紹了Java配置 JDK開發(fā)環(huán)境搭建及環(huán)境變量配置詳細圖文教程,需要的朋友可以參考下...
-
JDK1.9怎么安裝配置?Java SE 9(JDK9)詳細安裝教程+環(huán)境變量配置方法
JDK1.9是JDK是整個Java的核心,包括了Java運行環(huán)境,一堆Java工具和Java基礎(chǔ)的類庫。新版本增添了特性和性能提升,下面小編就整理了Java SE Development Kit 9.0安裝詳細步...
-
windows下jdk安裝圖解(覆蓋安裝報錯)
這篇文章主要介紹了windows下jdk安裝圖解,覆蓋安裝報錯,第一次安裝和第二次安裝區(qū)別,需要的朋友可以參考下...
-
把MyEclipse的默認jdk版本修改為本地JDK的方法介紹
最近,有不少網(wǎng)友問小編如何更改MyEclipse默認的JDK版本為自己安裝的JDK?今天小編就給大家詳細介紹一下把MyEclipse的默認jdk版本修改為本地JDK的方法,希望對大家有所幫助...
-
mac安裝jdk及環(huán)境變量配置文件
這篇文章主要介紹了mac安裝jdk及環(huán)境變量配置文件的詳細操作過程,喜歡的收藏一下吧。...
下載聲明
☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的Java SE Development Kit(JDK) 17.0.16 官方正式版 Win64資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。