欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java SE Development Kit(JDK) 17.0.16 官方正式版 Win64

JDK17下載

  • 軟件大?。?span>152MB
  • 軟件語言:簡體中文
  • 軟件類型:國產(chǎn)軟件
  • 軟件授權(quán):免費軟件
  • 軟件類別:編程工具
  • 應(yīng)用平臺:Windows平臺
  • 更新時間:2025-08-01
  • 網(wǎng)友評分:
360通過 騰訊通過 金山通過

情介紹

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擇“下一步”

Java 17下載

2、默認安裝在C盤,繼續(xù)“下一步”

Java 17下載

3、正在安裝,稍等片刻即可,中途不要關(guān)閉電腦

Java 17下載

4、好了,到這里Java SE Development Kit 17就安裝完成啦

Java 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

      氣軟件

      關(guā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)歸該下載資源的合法擁有者所有。