Java SE Development Kit 22(JDK22) GA for Mac v22.0.2 官方正181MB / 07-17
JDK20 (Java SE Development Kit 20) v20.0.2 Mac x64 官方蘋(píng)果178MB / 07-19
JDK19(Java SE Development Kit 19) 19.0.2 MAC 官方蘋(píng)果電腦版 183MB / 01-20
JDK18 (Java SE Development Kit 18) for Mac v18.0.2.1 x64 官169MB / 11-06
Java SE Development Kit 16(JDK) for Mac v16.0.2 蘋(píng)果電腦版166.6MB / 07-22
JDK15(Java SE Development Kit 15) for Mac v15.0.2 x64 官方正154MB / 01-20
JDK14(Java SE Development Kit 14) for Mac v14.0.2 x64 蘋(píng)果電176MB / 07-15
Java SE Development Kit(JDK13) for Mac v13.0.2 官方蘋(píng)果正式173MB / 03-18
JDK12(Java SE Development Kit 12) for Mac x64 蘋(píng)果電腦正式173.8MB / 03-21
JDK11(Java SE Development Kit 11) for Mac v11.0.29 x64 官方155MB / 10-23
-
Java SE Development Kit(JDK) 17 for Mac v17.0.18 蘋(píng)果電腦版 開(kāi)發(fā)軟件 / 337MB
-
Java SE Development Kit(JDK) 21 LTS for Mac v21.0.10 官方正 開(kāi)發(fā)軟件 / 363MB
-
超強(qiáng)API接口調(diào)試工具Apifox for Mac M1芯片 v2.8.2 官方中文版 開(kāi)發(fā)軟件 / 217 MB
-
Apifox(API接口調(diào)試工具) for Mac v2.8.2 蘋(píng)果電腦版 開(kāi)發(fā)軟件 / 305 MB
-
Java SE Development Kit 25(JDK) LTS長(zhǎng)期版本 for Mac v25.0.2 開(kāi)發(fā)軟件 / 199.9MB
-
Codeium Windsurf(AI編程工具) v1.13.9 Mac 官方免費(fèi)版 開(kāi)發(fā)軟件 / 225MB
-
安卓集成開(kāi)發(fā)工具Android Studio v2025.2.3.9 Mac最新版(Apple S 開(kāi)發(fā)軟件 / 1.37GB
-
快手開(kāi)發(fā)者工具(快手小程序)for Mac v1.76.1 蘋(píng)果電腦版 開(kāi)發(fā)軟件 / 297MB
-
快手開(kāi)發(fā)者工具(快手小程序)for Mac v1.76.1 M1芯片版 開(kāi)發(fā)軟件 / 297MB
-
免費(fèi)數(shù)據(jù)庫(kù)管理軟件Navicat Premium 17 Lite 精簡(jiǎn)版 v17.3.8 Mac 開(kāi)發(fā)軟件 / 379MB
詳情介紹
Java SE Development Kit 17(JDK/Java 17) 正式 GA已經(jīng)發(fā)布,按照發(fā)布規(guī)劃,JDK/Java 17 屬于長(zhǎng)期支持版本 (LTS),將會(huì)獲得 8 年的技術(shù)支持,直至 2029 年 9 年。Java 17 LTS 是 Java SE 平臺(tái)的最新長(zhǎng)期支持版本。 根據(jù) Oracle 免費(fèi)條款和條件許可,JDK 17 二進(jìn)制文件可在生產(chǎn)中免費(fèi)使用,并可免費(fèi)重新分發(fā)。至少在 2024 年 9 月之前,JDK 17 將根據(jù)這些條款接收更新。
Java SE Development Kit 17 for Windows :點(diǎn)擊下載
Java SE Development Kit 17 for Linux :點(diǎn)擊下載
JDK 是使用 Java 編程語(yǔ)言構(gòu)建應(yīng)用程序和組件的開(kāi)發(fā)環(huán)境。JDK 包括用于開(kāi)發(fā)和測(cè)試用 Java 編程語(yǔ)言編寫(xiě)并在 Java 平臺(tái)上運(yùn)行的程序的工具。本次提供的是Java SE Development Kit(JDK) 17 for Mac官方版本下載,歡迎需要此款工具的朋友前來(lái)下載使用。
JDK/Java 17 總共包含 14 個(gè) JEP,如下:
306: Restore Always-Strict Floating-Point Semantics
356: Enhanced Pseudo-Random Number Generators
382: New macOS Rendering Pipeline
391: macOS/AArch64 Port
398: Deprecate the Applet API for Removal
403: Strongly Encapsulate JDK Internals
406: Pattern Matching for switch (Preview)
407: Remove RMI Activation
409: Sealed Classes
410: Remove the Experimental AOT and JIT Compiler
411: Deprecate the Security Manager for Removal
412: Foreign Function & Memory API (Incubator)
414: Vector API (Second Incubator)
415: Context-Specific Deserialization Filters
功能特性
JDK 17 發(fā)行說(shuō)明:https://www.oracle.com/java/technologies/javase/17-relnote-issues.html
Restore Always-Strict Floating-Point Semantics
恢復(fù)始終執(zhí)行嚴(yán)格模式 (Always-Strict) 的浮點(diǎn)定義
Enhanced Pseudo-Random Number Generators
添加增強(qiáng)的偽隨機(jī)數(shù)生成器
New macOS Rendering Pipeline
為 macOS 引入新渲染管道
macOS/AArch64 Port
支持將 JDK 移植到 macOS/AArch64 架構(gòu)
Deprecate the Applet API for Removal
棄用待移除的 Applet API
Strongly Encapsulate JDK Internals
強(qiáng)封裝的 JDK 內(nèi)部 API,默認(rèn)對(duì) JDK 內(nèi)部進(jìn)行強(qiáng)封裝
Pattern Matching for switch (Preview)
switch 模式匹配進(jìn)入預(yù)覽 (Preview) 階段
Remove RMI Activation
移除 RMI(遠(yuǎn)程方法調(diào)用)激活機(jī)制
Sealed Classes
密封類和接口正式可用,用于限制哪些類和接口可以繼承或?qū)崿F(xiàn)它們。
Remove the Experimental AOT and JIT Compiler
移除實(shí)驗(yàn)性的 AOT 和 JIT 編譯器
Deprecate the Security Manager for Removal
棄用待移除的安全管理器 (Security Manager)
Foreign Function & Memory API (Incubator)
外部函數(shù)和內(nèi)存 API 進(jìn)入孵化階段,Java 應(yīng)用程序通過(guò)該 API 能夠與 Java 運(yùn)行時(shí)之外的代碼和數(shù)據(jù)進(jìn)行互操作。
Vector API (Second Incubator)
在 JDK/Java 17 中,Vector API 已進(jìn)入孵化的第二階段,Vector API 用于表達(dá)可在支持的 CPU 架構(gòu)上編譯為最佳矢量硬件指令的矢量計(jì)算,以實(shí)現(xiàn)優(yōu)于等效標(biāo)量計(jì)算的性能。
Context-Specific Deserialization Filters
增加面向特定上下文的反序列化過(guò)濾器,此特性允許應(yīng)用程序通過(guò) JVM 的過(guò)濾器工廠配置特定于上下文和動(dòng)態(tài)選擇的反序列化過(guò)濾器。
值得一提的是,根據(jù) Oracle 最新推出的「Free Java License」,Oracle JDK 可免費(fèi)用于生產(chǎn)環(huán)境。
Free Java License 摘要
- 為 Oracle JDK 免費(fèi)提供所有季度的安全更新,包括商業(yè)和生產(chǎn)用途。
- 新的許可證屬于“Oracle 免費(fèi)條款和條件”(NFTC) 許可證。此許可證允許所有用戶免費(fèi)使用,甚至可以用于商業(yè)和生產(chǎn)用途。再分發(fā)同樣不收取費(fèi)用。
- 開(kāi)發(fā)者和組織現(xiàn)可輕松下載、使用、共享和重新分發(fā) Oracle JDK。
- Oracle 將從 Oracle JDK 17 開(kāi)始提供這些免費(fèi)版本和更新,并在下一個(gè) LTS 版本發(fā)布之后繼續(xù)提供整整一年。注意以前的版本不受此更改的影響。
- Oracle 將繼續(xù)按照自 Java 9 以來(lái)的相同版本和時(shí)間表提供 GPL 下的 Oracle OpenJDK 版本。
此外,Oracle 還提議將 JDK LTS 的發(fā)布周期從每三年一次改為每?jī)赡暌淮?。如果該提案被接受,這意味著 JDK 17 之后的下一個(gè) JDK LTS 版本將是 JDK 21,而不是 JDK 23。
JDK17新特性詳解
預(yù)覽版:該功能在當(dāng)前版本可以使用,如果效果不是很好的話,可能以后的其他版本就會(huì)刪去該功能。
最終版:該功能在之前版本效果很好,之后的每個(gè)版本中都會(huì)存在該功能。
1、switch新增模式(預(yù)覽版)
使用 switch 表達(dá)式和語(yǔ)句的模式匹配以及對(duì)模式語(yǔ)言的擴(kuò)展來(lái)增強(qiáng) Java 編程語(yǔ)言。將模式匹配擴(kuò)展到 switch 允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有特定的操作,以便可以簡(jiǎn)潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢?;贘DK16 instanceof模式匹配(最終版)優(yōu)化升級(jí)switch使用方法,先回憶下JDK16模式匹配(最終版)
if (obj instanceof String s) {
// 直接使用 s拼接字符串
s += "heihei";
} else if (obj instanceof Integer i){
// 直接使用i進(jìn)行整型邏輯運(yùn)算
i += 1;
}
switch可直接用instanceof模式匹配選擇(需要提前考慮null判斷)
Object o;
switch (o) {
case null -> System.out.println("首先判斷對(duì)象是否為空,走空指針邏輯等后續(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ù)組的長(zhǎng)度" + ia.length);
case Integer i -> System.out.println("判斷是否為Intger對(duì)象,i:" + i);
case Student s -> System.out.println("判斷是否為具體學(xué)生對(duì)象,student:" + s.toString());
case UserCommonService -> System.out.println("判斷是否為普通用戶實(shí)現(xiàn)類,然后走普通用戶邏輯");
case UserVipService -> System.out.println("判斷是否為vip用戶實(shí)現(xiàn)類,然后走vip用戶邏輯");
default -> System.out.println("Something else");
}
2、Realed class密封類(最終版)
密封類和接口限制哪些其他類或接口可以擴(kuò)展或?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、隨機(jī)數(shù)增強(qiáng)
為偽隨機(jī)數(shù)生成器 (PRNG) 提供新的接口類型和實(shí)現(xiàn),包括可跳轉(zhuǎn)的 PRNG 和額外的一類可拆分 PRNG 算法 (LXM)。
4、浮點(diǎn)運(yùn)算更加嚴(yán)格
簡(jiǎn)化數(shù)字敏感庫(kù)開(kāi)發(fā),包括java.lang.Math和java.lang.StrictMath(對(duì)開(kāi)發(fā)無(wú)實(shí)際意義)
5、Parallel GC 默認(rèn)啟用
Parallel GC 默認(rèn)啟用自適應(yīng)并行處理,并行GC確定java.lang.ref.Reference在垃圾收集期間用于處理實(shí)例的最佳線程數(shù)。
默認(rèn)-XX:ParallelRedProcEnabled: true。在有多個(gè)線程可用于垃圾收集的機(jī)器上,明顯改善了垃圾收集暫停的階段,如果遇到垃圾收集暫停增加的情況,可以通過(guò)-XX:ParallelRedProcEnabled在命令行上指定到原始行為
6、增強(qiáng)TreeMap
增強(qiáng)JDK-8176894(TreeMap 沒(méi)有對(duì) putIfAbsent()、computeIfAbsent()、computeIfPresent()、compute() 方法的專門(mén)實(shí)現(xiàn)。默認(rèn)實(shí)現(xiàn)經(jīng)常導(dǎo)致兩次樹(shù)遍歷,這會(huì)損害性能)
7、棄用Socket實(shí)現(xiàn)工廠機(jī)制
棄用并最終刪除用于為java.net 包中的套接字類型靜態(tài)配置系統(tǒng)范圍工廠 的 API 點(diǎn)
具體如下:
* 方法:
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 類型 ,因?yàn)樗鼈兊奈ㄒ挥猛九c上述工廠有關(guān) 設(shè)置方法。
8、統(tǒng)一日志支持異步日志刷新
為了避免在使用統(tǒng)一日志的線程中出現(xiàn)不希望的延遲,用戶現(xiàn)在可以請(qǐng)求統(tǒng)一日志系統(tǒng)以異步模式運(yùn)行。通過(guò)傳遞命令行選項(xiàng)來(lái)完成的-Xlog:async。在異步日志模式下,日志站點(diǎn)將所有日志消息排入緩沖區(qū)。獨(dú)立線程負(fù)責(zé)將它們刷新到相應(yīng)的輸出。中間緩沖區(qū)是有界的。緩沖區(qū)耗盡時(shí),將丟棄排隊(duì)消息。可以使用命令行選項(xiàng)控制中間緩沖區(qū)的大小-XX:AsyncLogBufferSize=<bytes>。
9、新增 java.time.InstantSource
java.time.InstantSource引入了一個(gè)新界面。這個(gè)接口是一個(gè)抽象java.time.Clock,只關(guān)注當(dāng)前時(shí)刻,不涉及時(shí)區(qū)。
10、javadoc工具
新的“新 API”頁(yè)面和改進(jìn)的“棄用”頁(yè)面,JavaDoc 現(xiàn)在可以生成一個(gè)頁(yè)面,總結(jié)最近 API 的變化。要包含的最新版本列表是使用--since命令行選項(xiàng)指定的。這些值用于查找@since要包含在新頁(yè)面上的具有匹配標(biāo)簽的聲明。該--since-label命令行選項(xiàng)提供了“新API”頁(yè)面的標(biāo)題文本使用。
在 macOS 上安裝 JDK
在 macOS 上安裝 JDK:
.dmg從.tar.gz頁(yè)面下載所需的 JDK或文件 :
macOS x64 系統(tǒng): 或jdk-17.interim.update.patch_macos-x64_bin.dmgjdk-17.interim.update.patch_macos-x64_bin.tar.gz
macOS aarch64(64 位 ARM)系統(tǒng): 或jdk-17.interim.update.patch_macos-aarch64_bin.dmgjdk-17.interim.update.patch_macos-aarch64_bin.tar.gz
單擊接受許可協(xié)議。
從瀏覽器下載窗口或文件瀏覽器,雙擊.dmg文件以啟動(dòng)它。
出現(xiàn)一個(gè)Finder窗口,其中包含一個(gè)打開(kāi)框的圖標(biāo)和.pkg文件名。
雙擊該圖標(biāo)以啟動(dòng)安裝應(yīng)用程序。JDK 17.pkg
安裝應(yīng)用程序顯示簡(jiǎn)介窗口。
點(diǎn)擊繼續(xù)。
在安裝類型窗口出現(xiàn)。
單擊安裝。
出現(xiàn)一個(gè)窗口,顯示消息: 安裝程序正在嘗試安裝新軟件。輸入您的密碼以允許此操作。
輸入管理員用戶名和密碼,然后單擊安裝軟件。
安裝軟件并顯示確認(rèn)窗口。
安裝軟件后,如果要節(jié)省磁盤(pán)空間,可以刪除.dmg 或 .tar.gz文件。
在 macOS 上卸載 JDK
在 macOS 上卸載 JDK:
您必須具有管理員權(quán)限。
筆記:不要試圖通過(guò)從 中刪除 Java 工具來(lái)卸載 Java /usr/bin。此目錄是系統(tǒng)軟件的一部分,Apple 將在您下次執(zhí)行操作系統(tǒng)更新時(shí)重置任何更改。
去/Library/Java/JavaVirtualMachines。
rm以root用戶身份執(zhí)行命令或使用sudo工具刪除名稱與以下格式匹配的目錄:
/Library/Java/JavaVirtualMachines/jdk-17.interim.update.patch.jdk
例如,要卸載17 Interim 0 Update 0 Patch 0:
$ rm -rf jdk-17.jdk
macOS 安裝常見(jiàn)問(wèn)題
本主題提供了有關(guān)在 macOS 計(jì)算機(jī)上安裝 JDK 的以下常見(jiàn)問(wèn)題解答。
1. 如何找出系統(tǒng)默認(rèn)的Java版本?
當(dāng)您從命令行運(yùn)行 Java 應(yīng)用程序時(shí),它使用默認(rèn)的 JDK。如果您不開(kāi)發(fā) Java 應(yīng)用程序,那么您無(wú)需擔(dān)心這一點(diǎn)。請(qǐng)參閱確定 macOS 上的默認(rèn) JDK 版本。
2. 安裝 Java for macOS 2012-006 后,我可以繼續(xù)使用 Apple 的 Java 6 和 macOS JDK for Java 17嗎?
如果您想繼續(xù)使用命令行使用 Java 6 進(jìn)行開(kāi)發(fā),那么您可以為您喜歡的命令環(huán)境修改啟動(dòng)腳本。對(duì)于 bash,使用這個(gè):
$ export JAVA_HOME=`/usr/libexec/java_home -v 17`
一些應(yīng)用程序使用/usr/bin/java調(diào)用 Java。為 macOS 2012-006 安裝 Java 后,/usr/bin/java將找到安裝的最新 JDK,并將其用于/usr/bin. 您可能需要修改這些應(yīng)用程序才能找到 Java 6,或者聯(lián)系開(kāi)發(fā)人員獲取更新版本的應(yīng)用程序。
4. Application Utilities 中的 Java Preferences 應(yīng)用程序發(fā)生了什么變化?
Java Preferences 應(yīng)用程序是 Apple Java 安裝的一部分,Oracle Java 不使用它。因此,不包含 Apple Java 的 Apple macOS 版本將不包含 Java 首選項(xiàng)。
更新日志
Java™ SE Development Kit 17,更新 17.0.18(JDK 17.0.18)
2026年1月20日
本次更新的完整版本字符串為 17.0.18+8(“+” 表示“構(gòu)建”)。版本號(hào)為 17.0.18。該 JDK 符合 Java SE 規(guī)范 17.1 版本(JSR 392 MR 1 2024-07-02)。
安全基線
JDK 17.0.18 發(fā)布時(shí) Java 運(yùn)行時(shí)的安全基線如下表所示:
Java 家族版本 安全基線(完整版本字符串)
17 17.0.18+8
11 11.0.30+7
8 1.8.0_481-b10
保持JDK的更新
Oracle 建議每次關(guān)鍵補(bǔ)丁更新時(shí)都要更新 JDK。 為了判斷某個(gè)版本是否為最新,安全基線頁(yè)面可以 用于確定每個(gè)發(fā)行家族的最新版本。
關(guān)鍵補(bǔ)丁更新包含安全漏洞修復(fù),通常提前一年發(fā)布關(guān)鍵補(bǔ)丁更新、安全警報(bào)和公告。不建議在下一次關(guān)鍵補(bǔ)丁更新后使用該 JDK(版本17.0.18)。預(yù)計(jì)為2026年4月21日。
Java管理服務(wù)面向所有用戶,可以幫助你在系統(tǒng)中發(fā)現(xiàn)易受攻擊的Java版本。Java SE 訂閱用戶和運(yùn)行在 Oracle Cloud 中的客戶可以使用 Java 管理服務(wù)更新 Java 運(yùn)行時(shí),并進(jìn)行進(jìn)一步的安全審查,比如識(shí)別 Java 程序中使用的潛在易受攻擊的第三方庫(kù)?,F(xiàn)有的 Java 管理服務(wù)用戶,點(diǎn)擊這里登錄您的儀表盤(pán)。Java 管理服務(wù)文檔提供了一份對(duì)所有人開(kāi)放的功能列表,以及僅對(duì)客戶開(kāi)放的功能。了解更多關(guān)于使用 Java 管理服務(wù)來(lái)監(jiān)控和保護(hù)您的 Java 安裝的信息。
新功能
core-libs/java.rmi
? 默認(rèn)啟用端點(diǎn)識(shí)別,適用于TLS上的RMI連接 (JDK-8341496(非公開(kāi)))
如果使用該類,RMI會(huì)使用TLS連接。這些連接現(xiàn)在默認(rèn)啟用了TLS端點(diǎn)識(shí)別。這可能導(dǎo)致一些之前正常工作的TLS連接出現(xiàn)故障。如果發(fā)生這種情況,確保服務(wù)器提供的證書(shū)具有與服務(wù)器主機(jī)名相匹配的主體替代名稱?;蛘?,客戶端可以通過(guò)將系統(tǒng)屬性設(shè)置為 來(lái)禁用 RMI TLS 連接的端點(diǎn)識(shí)別。javax.rmi.ssl.SslRMIClientSocketFactoryjdk.rmi.ssl.client.enableEndpointIdentificationfalse
其他注釋
security-libs/javax.net.ssl
? 禁用了TLS 1.2和DTLS 1.2中的SHA-1握手簽名 (JDK-8340321))
在TLS 1.2和DTLS 1.2握手簽名中,SHA-1算法已被默認(rèn)禁用,方法是在配置文件中添加安全屬性。RFC 9155 棄用了 TLS 1.2 和 DTLS 1.2 數(shù)字簽名中的 SHA-1。用戶可自行承擔(dān)風(fēng)險(xiǎn),通過(guò)移除安全屬性,重新啟用 TLS 1.2 和 DTLS 1.2 握手簽名中的 SHA-1 算法。"rsa_pkcs1_sha1 usage HandshakeSignature, ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature"jdk.tls.disabledAlgorithmsjava.security"rsa_pkcs1_sha1 usage HandshakeSignature, ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature"jdk.tls.disabledAlgorithms
安裝/安裝
? Windows 安裝程序返回完整版本目錄及交匯( JDK-8310932(非公開(kāi)))
對(duì)于 JDK11+ LTS 系列,JDK 默認(rèn)安裝到特定版本的安裝目錄中。11+ 的安裝目錄在版本特定字符串前會(huì)有一個(gè) - ,以保持與各家族過(guò)去 11+ 慣例的一致性。在“最新”目錄中也會(huì)創(chuàng)建一個(gè)連接,Windows中也稱為符號(hào)鏈接。它會(huì)指向該家族的最新版本。以下是安裝和交匯點(diǎn)11+家族的詳細(xì)示例:
版本 安裝目錄 交匯位置
jdk25.0.2 C:\Program Files\Java\jdk-25.0.2 C:\Program Files\Java\latest\jdk-25
JDK17.0.18 C:\Program Files\Java\jdk-17.0.18 C:\Program Files\Java\latest\jdk-17
jdk11.0.30 C:\Program Files\Java\jdk-11.0.30 C:\Program Files\Java\latest\jdk-11
每個(gè)交匯點(diǎn)始終指向匹配LTS家族中最新的JDK。當(dāng)匹配LTS家族的最后一個(gè)JDK卸載時(shí),每個(gè)家族的連接將被移除。
安裝/安裝
? 讓jcmd命令在無(wú)頭JDK RPM中可用 (JDK-8359443(非公開(kāi)))
jcmd命令將以無(wú)頭JDK RPM代替頭頭JDK RPM使用。
它將被加入替代組,而非替代方案組。javajavac
security-libs/javax.net.ssl
? 廢TLS_RSA密碼套件 (JDK-8245545)
TLS_RSA密碼套件默認(rèn)被禁用,方法是在java.security配置文件中的jdk.tls.disabledAlgorithms安全屬性中添加“TLS_RSA_”。TLS_RSA密碼套件不維護(hù)前向保密性,且不常用。一些TLS_RSA密碼套件已經(jīng)被禁用,因?yàn)樗鼈兪褂昧薉ES、3DES、RC4或NULL,這些都是被禁用的。此舉會(huì)禁用所有剩余TLS_RSA密碼套件。任何嘗試使用以“TLS_RSA_”開(kāi)頭的密碼套件都會(huì)因SSLHandshakeException而失敗。用戶可自行承擔(dān)風(fēng)險(xiǎn),通過(guò)從安全屬性中移除“TLS_RSA_”來(lái)重新啟用這些密碼套件。以下先前啟用的密碼套件現(xiàn)已禁用:jdk.tls.disabledAlgorithms
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
core-libs/java.util:i18n
? 基于Debian的Linux(JDK-8345213)中默認(rèn)時(shí)區(qū)檢測(cè)的變 更)
在基于 Debian 的 Linux 發(fā)行版如 Ubuntu 上,該文件曾用于確定 JDK 的默認(rèn)時(shí)區(qū)()。根據(jù)Debian的維基,現(xiàn)在是系統(tǒng)默認(rèn)時(shí)區(qū)的主要來(lái)源,因此變得多余。因此,JDK的默認(rèn)時(shí)區(qū)檢測(cè)邏輯已更新為使用。如果和因任何原因不一致,JDK的默認(rèn)時(shí)區(qū)現(xiàn)僅基于檔案確定。/etc/timezoneTimeZone.getDefault()/etc/localtime/etc/timezone/etc/localtime/etc/timezone/etc/localtime/etc/timezone/etc/localtime
security-libs/java.security
? 證書(shū)權(quán)威信息訪問(wèn)擴(kuò)展 (JDK-8368032(非公開(kāi)))中URI的過(guò)濾規(guī)則
引入了一個(gè)新的系統(tǒng)和安全屬性,, ,該屬性允許用戶定義一個(gè)或多個(gè)過(guò)濾規(guī)則,應(yīng)用于X.509證書(shū)上權(quán)威信息訪問(wèn)擴(kuò)展獲得的URI。這些過(guò)濾規(guī)則專門(mén)應(yīng)用于CA發(fā)行機(jī)構(gòu)的訪問(wèn)方式。任何CA發(fā)行者在X.509證書(shū)中的URI只有在系統(tǒng)屬性被啟用且過(guò)濾器允許該URI時(shí)才會(huì)被跟蹤。com.sun.security.allowedAIALocationscom.sun.security.enableAIAcaIssuers
為了設(shè)置規(guī)則,用戶必須以同名設(shè)置安全屬性或系統(tǒng)屬性。如果系統(tǒng)屬性有值,它會(huì)覆蓋安全屬性。默認(rèn)情況下,該屬性為空,這會(huì)執(zhí)行一個(gè)拒絕所有規(guī)則集。com.sun.security.allowedAIALocations
對(duì)于任一性質(zhì),取值由一組空間分離規(guī)則組成,這些規(guī)則以URI的形式出現(xiàn),具有以下約束條件:
URI必須是絕對(duì)且層級(jí)分明的。
URI只能使用以下方案之一:http、https、ldap或ftp(不區(qū)分大小寫(xiě))。
必須指定主機(jī)名或地址,并且必須匹配(不區(qū)分大小寫(xiě))。主機(jī)名不進(jìn)行名稱解析以匹配URI與IP地址。
端口號(hào)必須匹配。如果省略了端口號(hào),則在比較中使用已知端口。
對(duì)于分層方案(http[s], ftp):
規(guī)則中URI中歸一化路徑部分以大小寫(xiě)區(qū)分方式匹配。如果最后一個(gè)組件不以斜杠(/)結(jié)尾,則視為文件路徑,必須與CA發(fā)行器URI路徑組件匹配。如果規(guī)則的路徑組件以斜杠結(jié)尾,則必須與CA發(fā)行器URI路徑組件的前綴相匹配或?yàn)榍熬Y。(例如,的濾波路徑將匹配CA的發(fā)行者路徑,且。)/ab/cd//ab/cd//ab/cd/ef/ab/cd/ef/ghi
匹配CA發(fā)行者URI時(shí),查詢字符串和片段將被忽略。
對(duì)于LDAP的URI:
基礎(chǔ)DN必須完全匹配(不區(qū)分大小寫(xiě))。
規(guī)則中的任何查詢字符串(如果指定)將被忽略。
對(duì)于屬性,單個(gè)值為“任意”(大小寫(xiě)不區(qū)分)將生成一個(gè)允許所有規(guī)則。
漏洞修復(fù)
本版本還包含了 Oracle 關(guān)鍵補(bǔ)丁更新中描述的安全漏洞修復(fù)。
? 17.0.18 修復(fù)的問(wèn)題:
# JBS 組成部分 摘要
1 JDK-8292214 client-libs/2d awt_GraphicsEnv.c:386 的 getAllConfigs 內(nèi)存泄漏
2 JDK-8334509 client-libs/2d 取消 PageDialog 不會(huì)返回相同的 PageFormat 對(duì)象
3 JDK-8361748 client-libs/2d 對(duì) XBM 映像大小設(shè)定限制
4 JDK-8286159 client-libs/java.awt awt_GraphicsEnv.c:585 的 getAllConfigs 內(nèi)存泄漏
5 JDK-8324491 client-libs/java.awt 如果鍵盤(pán)布局在對(duì)話激活時(shí)被更改,鍵盤(pán)布局就不會(huì)保持狀態(tài)
6 JDK-8354646 client-libs/java.awt java.awt.TextField 允許在雙擊文字開(kāi)頭和結(jié)尾時(shí)識(shí)別密碼中的空格
7 JDK-8281523 client-libs/javax.accessibility 可及性:從字符串字面轉(zhuǎn)換失去 const 限定符
8 JDK-8140527 client-libs/javax.swing JinternalFrame的標(biāo)題按鈕寬度不正確
9 JDK-8236907 client-libs/javax.swing 將JTable添加到嵌套面板上不會(huì)繪制最后一行可見(jiàn)的行
10 JDK-8139228 client-libs/javax.swing JFileChooser 將文件名渲染為 HTML 文檔
11 JDK-8358532 client-libs/javax.swing GTK L&F 中的 JFileChooser 仍然顯示 HTML 文件名
12 JDK-8210807 client-libs/javax.swing 用 JScrollPane 打印 JTable 打印的表格時(shí),沒(méi)有填充行
13 JDK-8257810 client-libs/javax.swing 只有第一頁(yè)會(huì)用 JTable.scrollRectToVisible 打印
14 JDK-8322135 client-libs/javax.swing 在 Windows L&F 中打印 JTable 會(huì)觸發(fā) InternalError:HTHEME 為空
15 JDK-8349188 client-libs/javax.swing LineBorder 的縮放不正確
16 JDK-8358813 client-libs/javax.swing JPasswordField 通過(guò)刪除快捷方式識(shí)別密碼中的空格
17 JDK-8370465 client-libs/javax.swing MenuItem 組件從右向左向的問(wèn)題
18 JDK-8307990 core-libs/java.lang jspawnhelper 必須關(guān)閉其寫(xiě)入一側(cè)的管道,才能讀取
19 JDK-8311645 core-libs/java.lang jspawnhelper spawnChild 在 JDK-8307990 之后發(fā)生內(nèi)存泄漏
20 JDK-8280124 core-libs/java.lang 減少?gòu)?UTF-8 編碼字節(jié)中解碼拉丁 1 字符的分支
21 JDK-8282047 core-libs/java.lang 增強(qiáng)StringDecode/Encode微基準(zhǔn)測(cè)試
22 JDK-8365086 core-libs/java.net CookieStore.getURIs() 和 get(URI) 應(yīng)該返回一個(gè)不可變的列表
23 JDK-8369184 core-libs/java.util:i18n 對(duì)于不同哈希碼值的不相等實(shí)例,SimpleTimeZone 等于 () 返回為真
24 JDK-8328085 熱點(diǎn)/編譯器 C2:免費(fèi)后在PhaseChaitin使用::Register_Allocate()
25 JDK-8364993 熱點(diǎn)/JFR JFR:關(guān)閉JDK。default.jfc 中的 ModuleExport
26 JDK-8364556 熱點(diǎn)/JFR JFR:在default.jfc中禁用SymbolTableStatistics和StringTableStatistics
27 JDK-8369992 熱點(diǎn)/JFR JFR:在default.jfc中禁用占位符、加載約束和保護(hù)域緩存表統(tǒng)計(jì)
28 JDK-8328997 熱點(diǎn)/運(yùn)行時(shí) 移除 GrowableArray 中不必要的模板參數(shù)列表
29 JDK-8317132 熱點(diǎn)/運(yùn)行時(shí) 準(zhǔn)備允許的熱點(diǎn)——
30 JDK-8361447 熱點(diǎn)/運(yùn)行時(shí) [重做]已檢查的 JNI 版本 Release<type>ArrayElements 需要過(guò)濾掉已知的包裹數(shù)組
31 JDK-8364235 熱點(diǎn)/運(yùn)行時(shí) JDK-8361447 修復(fù)后,GuardedMemory 的對(duì)齊要求失效
32 JDK-8364660 熱點(diǎn)/運(yùn)行時(shí) ClassVerifier::ends_in_athrow() 應(yīng)該被移除
33 JDK-8306579 基礎(chǔ)設(shè)施/其他 考慮用 /Zc:throwingNew 來(lái)構(gòu)建
34 JDK-8317332 security-libs/java.security 準(zhǔn)備允許的安保——
35 JDK-8325680 security-libs/org.ietf.jgss deleteGSSCB 中的未初始化內(nèi)存 GSSLibStub.c:179
36 JDK-8365790 tools/jpackage 應(yīng)用程序映像的關(guān)閉鉤子在 Windows 上無(wú)法使用
下載地址
人氣軟件

Fish Shell Mac版 for Mac V3.1.2 蘋(píng)果電腦版
Java SE Development Kit(JDK) 21 LTS for Mac v21.0.10 官方正
IntelliJ IDEA 社區(qū)版 v2025.3.1.1 Mac中文正式免費(fèi)版(附安裝教
JDK11(Java SE Development Kit 11) for Mac v11.0.29 x64 官方
IntelliJ IDEA 旗艦版 v2025.2.5 Mac中文完整正式版(附安裝教程)
Myeclipse for Mac V2014 蘋(píng)果電腦版(附破解工具及破解教程)
安卓集成開(kāi)發(fā)工具Android Studio v2025.2.3.9 Mac最新版(Apple S
Navicat for MySQL 11 for Mac V11.2.18 蘋(píng)果電腦版
Mathematica for Mac 11.3 中文特別版(附注冊(cè)機(jī)+激活方法)
Pycharm Pro v2025.3.1.1 Mac 專業(yè)中文許可正式版(附使用教程)
相關(guān)文章
Java配置 JDK開(kāi)發(fā)環(huán)境搭建及環(huán)境變量配置詳細(xì)圖文教程這篇文章主要介紹了Java配置 JDK開(kāi)發(fā)環(huán)境搭建及環(huán)境變量配置詳細(xì)圖文教程,需要的朋友可以參考下...
windows下jdk安裝圖解(覆蓋安裝報(bào)錯(cuò))這篇文章主要介紹了windows下jdk安裝圖解,覆蓋安裝報(bào)錯(cuò),第一次安裝和第二次安裝區(qū)別,需要的朋友可以參考下...
把MyEclipse的默認(rèn)jdk版本修改為本地JDK的方法介紹最近,有不少網(wǎng)友問(wèn)小編如何更改MyEclipse默認(rèn)的JDK版本為自己安裝的JDK?今天小編就給大家詳細(xì)介紹一下把MyEclipse的默認(rèn)jdk版本修改為本地JDK的方法,希望對(duì)大家有所幫助...
JDK1.9怎么安裝配置?Java SE 9(JDK9)詳細(xì)安裝教程+環(huán)境變量配置方法JDK1.9是JDK是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境,一堆Java工具和Java基礎(chǔ)的類庫(kù)。新版本增添了特性和性能提升,下面小編就整理了Java SE Development Kit 9.0安裝詳細(xì)步...
mac安裝jdk及環(huán)境變量配置文件這篇文章主要介紹了mac安裝jdk及環(huán)境變量配置文件的詳細(xì)操作過(guò)程,喜歡的收藏一下吧。...
Java jdk環(huán)境變量配置方法這篇文章主要介紹了Java jdk環(huán)境變量配置方法的相關(guān)資料,需要的朋友可以參考下...
下載聲明
☉ 解壓密碼:www.dhdzp.com 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過(guò)一段時(shí)間重試!或者多試試幾個(gè)下載地址
☉ 如果遇到什么問(wèn)題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問(wèn)題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購(gòu)買(mǎi)正版。
☉ 本站提供的Java SE Development Kit(JDK) 17 for Mac v17.0.18 蘋(píng)果電腦版資源來(lái)源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。


