網(wǎng)友評分: 5分
Java SE Development Kit是一款非常專業(yè)的Java開發(fā)工具包。它由甲骨文Oracle公司開發(fā)設(shè)計(jì),目前該版本推出了全新的18.0版本,包含Java運(yùn)行環(huán)境、Java開發(fā)工具和Java基礎(chǔ)類庫源代碼,是Java開發(fā)以及安卓開發(fā)用戶的必備JRE運(yùn)行環(huán)境,免費(fèi)下載,歡迎嘗試。
如果在學(xué)習(xí)或從事Java開發(fā)、編譯java程序,那么安裝JDK
如果僅需運(yùn)行java程序,只需要Java運(yùn)行庫,那么安裝JRE
Java Development Kit(簡稱JDK)= Java開發(fā)套件,Java開發(fā)工具包,面向Java語言開發(fā)者。
Java Runtime Environment(簡稱JRE)= Java運(yùn)行庫,Java運(yùn)行環(huán)境,面向Java程序用戶們。
JDK:Java核心,含Java運(yùn)行環(huán)境(JRE)、編譯器(javac.exe)、開發(fā)工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和Java工具類庫(如tools.jar)源代碼等java語言編譯所需的工具包。
JRE:Java語言開發(fā)的程序運(yùn)行所需要的運(yùn)行環(huán)境,包括JVM標(biāo)準(zhǔn)實(shí)現(xiàn)(java.exe等)及 Java核心類庫(rt.jar等),它不包含開發(fā)工具(編譯器、調(diào)試器等)
1、JEP 409:密封類
密封類已添加到 Java 語言中。密封類和接口限制哪些其他類或接口可以擴(kuò)展或?qū)崿F(xiàn)它們。
密封類由JEP 360提出,并在 JDK 15 中作為預(yù)覽功能提供。它們由JEP 397再次提出并進(jìn)行了改進(jìn),并作為預(yù)覽功能在 JDK 16 中提供。現(xiàn)在在 JDK 17 中,密封類正在最終確定,與 JDK 16 沒有任何變化。
2、JEP 406:開關(guān)模式匹配(預(yù)覽)
使用 switch 表達(dá)式和語句的模式匹配以及對模式語言的擴(kuò)展來增強(qiáng) Java 編程語言。將模式匹配擴(kuò)展到 switch 允許針對多個模式測試表達(dá)式,每個模式都有特定的操作,以便可以簡潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢
3、JEP 382:新的 macOS 渲染管線
Swing API 用于渲染的 Java 2D API 現(xiàn)在可以使用適用于 macOS 的新 Apple Metal 加速渲染 API。
當(dāng)前默認(rèn)禁用此功能,因此渲染仍使用 OpenGL API,Apple 已棄用這些 API,但仍可用并受支持。
要啟用 Metal,應(yīng)用程序應(yīng)通過設(shè)置系統(tǒng)屬性來指定其用途:
-Dsun.java2d.metal=true
Metal 或 OpenGL 的使用對應(yīng)用程序是透明的,因?yàn)檫@是內(nèi)部實(shí)現(xiàn)的差異并且對 Java API 沒有影響。金屬管道需要 macOS 10.14.x 或更高版本。將忽略在早期版本上設(shè)置它的嘗試。
4、 用于訪問大圖標(biāo)的新 API
javax.swing.filechooser.FileSystemView.getSystemIcon(File, int, int)JDK 17 中提供了一種新方法 ,可以在可能的情況下訪問更高質(zhì)量的圖標(biāo)。完全針對Windows平臺實(shí)現(xiàn);但是,其他平臺上的結(jié)果可能會有所不同,稍后會得到增強(qiáng)。例如,通過使用以下代碼:
FileSystemView fsv = FileSystemView.getFileSystemView();
Icon icon = fsv.getSystemIcon(new File("application.exe"), 64, 64);
JLabel label = new JLabel(icon);
用戶可以獲得更高質(zhì)量的“application.exe”文件圖標(biāo)。此圖標(biāo)適用于創(chuàng)建在 HighDPI 環(huán)境中可以更好縮放的標(biāo)簽。
5、DatagramSocket 可以直接用于加入多播組
java.net.DatagramSocket此版本中已更新以添加對加入多播組的支持。現(xiàn)在定義joinGroup和leaveGroup方法加入和離開組播組。java.net.DatagramSocket已更新的類級 API 文檔解釋了如何DatagramSocket配置普通的以及如何使用它來加入和離開多播組。
此更改意味著DatagramSocketAPI 可用于多播應(yīng)用程序,而無需使用舊版java.net.MulticastSocketAPI。該MulticastSocketAPI的工作和以前一樣,雖然它的大多數(shù)方法已被棄用。
6、 JEP 356:增強(qiáng)型偽隨機(jī)數(shù)生成器
為偽隨機(jī)數(shù)生成器 (PRNG) 提供新的接口類型和實(shí)現(xiàn),包括可跳轉(zhuǎn)的 PRNG 和額外的一類可拆分 PRNG 算法 (LXM)。
7、理想圖形可視化器的現(xiàn)代化
Ideal Graph Visualizer (IGV) 是一種以可視化和交互方式探索 HotSpot VM C2 即時 (JIT) 編譯器中使用的中間表示的工具,已經(jīng)現(xiàn)代化。增強(qiáng)功能包括:
支持在高達(dá) JDK 15(IGV 底層 NetBeans 平臺支持的最新版本)上運(yùn)行 IGV
更快的基于 Maven 的 IGV 構(gòu)建系統(tǒng)
穩(wěn)定塊形成、組移除和節(jié)點(diǎn)跟蹤
默認(rèn)過濾器中更直觀的著色和節(jié)點(diǎn)分類
具有更自然默認(rèn)行為的排名快速節(jié)點(diǎn)搜索
現(xiàn)代化的 IGV與早期 JDK 版本生成的圖形部分兼容。它支持圖形加載和可視化等基本功能,但可能會影響節(jié)點(diǎn)聚類和著色等輔助功能。
src/utils/IdealGraphVisualizer/README.md工具源目錄中的文件中提供了有關(guān)構(gòu)建和運(yùn)行 IGV 的詳細(xì)信息。
8、錯誤消息中的源詳細(xì)信息
當(dāng) JavaDoc 報(bào)告輸入源文件中的問題時,它會顯示該問題的源代碼行,以及包含^指向該行位置的插入符號 ( ) 的行,其方式類似于編譯器 ( javac) 診斷消息。
此外,日志和其他“信息”消息現(xiàn)在被寫入標(biāo)準(zhǔn)錯誤流,讓標(biāo)準(zhǔn)輸出流用于命令行選項(xiàng)特別請求的輸出,例如命令行幫助。
9、新的“新 API”頁面和改進(jìn)的“棄用”頁面
JavaDoc 現(xiàn)在可以生成一個頁面,總結(jié)最近 API 的變化。要包含的最新版本列表是使用--since命令行選項(xiàng)指定的。這些值用于查找@since要包含在新頁面上的具有匹配標(biāo)簽的聲明。該--since-label命令行選項(xiàng)提供了“新API”頁面的標(biāo)題文本使用。
在匯總棄用項(xiàng)目的頁面上,您可以查看按棄用項(xiàng)目所在版本分組的項(xiàng)目。
10、JEP 412:外部函數(shù)和內(nèi)存 API(孵化器)
介紹一個 API,Java 程序可以通過該 API 與 Java 運(yùn)行時之外的代碼和數(shù)據(jù)進(jìn)行互操作。通過有效調(diào)用外部函數(shù)(即 JVM 之外的代碼),以及安全地訪問外部內(nèi)存(即不由 JVM 管理的內(nèi)存),API 使 Java 程序能夠調(diào)用本地庫和處理本地?cái)?shù)據(jù),而沒有JNI。
11、控制臺字符集 API
java.io.Console已更新以定義返回Charset控制臺的新方法。返回的字符集可能與從Charset.defaultCharset()方法返回的字符集不同。例如,它返回IBM437whileCharset.defaultCharset()返回windows-1252Windows (en-US)。
12、用于反序列化的 JDK 飛行記錄器事件
現(xiàn)在可以使用 JDK Flight Recorder (JFR) 監(jiān)視對象的反序列化。當(dāng)啟用 JFR 并且 JFR 配置包括反序列化事件時,每當(dāng)正在運(yùn)行的程序嘗試反序列化對象時,JFR 都會發(fā)出一個事件。反序列化事件名為jfr.Deserialization,默認(rèn)情況下是禁用的。反序列化事件包含序列化過濾器機(jī)制使用的信息;請參閱ObjectInputFilter規(guī)范。此外,如果啟用了過濾器,則 JFR 事件指示過濾器是接受還是拒絕對象的反序列化。
13、JEP 415:實(shí)現(xiàn)特定于上下文的反序列化過濾器
JEP 415:特定于上下文的反序列化過濾器允許應(yīng)用程序通過 JVM 范圍的過濾器工廠配置特定于上下文和動態(tài)選擇的反序列化過濾器,該工廠被調(diào)用以為每個單獨(dú)的反序列化操作選擇一個過濾器。
14、本地字符編碼名稱的系統(tǒng)屬性
引入了新的系統(tǒng)屬性native.encoding。此系統(tǒng)屬性提供底層主機(jī)環(huán)境的字符編碼名稱。例如,通常它UTF-8在 Linux 和 macOS 平臺以及Cp1252Windows (en-US) 中都有。
15、添加 java.time.InstantSource
java.time.InstantSource引入了一個新界面。這個接口是一個抽象java.time.Clock,只關(guān)注當(dāng)前時刻,不涉及時區(qū)。
16、十六進(jìn)制格式和解析實(shí)用程序
java.util.HexFormat為原始類型和字節(jié)數(shù)組提供與十六進(jìn)制之間的轉(zhuǎn)換。分隔符、前綴、后綴和大寫或小寫的選項(xiàng)由返回 HexFormat 實(shí)例的工廠方法提供。
17、實(shí)驗(yàn)編譯器黑洞支持
添加了對編譯器黑洞的實(shí)驗(yàn)支持。這些對于低級基準(zhǔn)測試很有用,以避免在關(guān)鍵路徑上消除死代碼,而不會影響基準(zhǔn)性能。當(dāng)前的支持是作為 CompileCommand 實(shí)現(xiàn)的,可作為 訪問-XX:CompileCommand=blackhole,<method>,并計(jì)劃最終將其升級為公共 API。
18、 HotSpot JVM中新的類層次分析實(shí)現(xiàn)
HotSpot JVM 中引入了新的類層次結(jié)構(gòu)分析實(shí)現(xiàn)。它增強(qiáng)了對抽象和默認(rèn)方法的處理,從而改進(jìn)了 JIT 編譯器做出的內(nèi)聯(lián)決策。新的實(shí)現(xiàn)取代了原來的實(shí)現(xiàn)并且默認(rèn)是開啟的。
為了幫助診斷與新實(shí)現(xiàn)相關(guān)的可能問題,可以通過指定-XX:+UnlockDiagnosticVMOptions -XX:-UseVtableBasedCHA命令行標(biāo)志來打開原始實(shí)現(xiàn)。
原始實(shí)現(xiàn)可能會在未來版本中刪除。
19、 JEP 391:macOS/AArch64 端口
macOS 11.0 現(xiàn)在支持 AArch64 架構(gòu)。該 JEP 在 JDK 中實(shí)現(xiàn)了對 macos-aarch64 平臺的支持。添加的功能之一是支持 W^X(寫異或執(zhí)行)內(nèi)存。它僅對 macos-aarch64 啟用,并且可以在某些時候擴(kuò)展到其他平臺。JDK 既可以在 Intel 機(jī)器上交叉編譯,也可以在基于 Apple M1 的機(jī)器上編譯。
20、統(tǒng)一日志支持異步日志刷新
為了避免在使用統(tǒng)一日志的線程中出現(xiàn)不希望的延遲,用戶現(xiàn)在可以請求統(tǒng)一日志系統(tǒng)以異步模式運(yùn)行。這是通過傳遞命令行選項(xiàng)來完成的-Xlog:async。在異步日志模式下,日志站點(diǎn)將所有日志消息排入緩沖區(qū)。獨(dú)立線程負(fù)責(zé)將它們刷新到相應(yīng)的輸出。中間緩沖區(qū)是有界的。緩沖區(qū)耗盡時,將丟棄排隊(duì)消息。用戶可以使用命令行選項(xiàng)控制中間緩沖區(qū)的大小-XX:AsyncLogBufferSize=
21、ARM 上的 macOS 可搶先體驗(yàn)
新的 macOS 現(xiàn)在可用于 ARM 系統(tǒng)。ARM 端口的行為應(yīng)該類似于 Intel 端口。沒有已知的功能差異。在 macOS 上報(bào)告問題時,請指定是使用 ARM 還是 x64。
22、 支持在 Keytool -genkeypair 命令中指定簽名者
在-signer和-signerkeypass選項(xiàng)已被添加到-genkeypair該命令keytool程序。該-signer選項(xiàng)指定PrivateKeyEntry簽名者的密鑰庫別名,該-signerkeypass選項(xiàng)指定用于保護(hù)簽名者私鑰的密碼。這些選項(xiàng)允許keytool -genkeypair使用簽名者的私鑰對證書進(jìn)行簽名。這對于生成使用密鑰協(xié)商算法作為其公鑰算法的證書特別有用。
23、SunJCE Provider 使用 AES 密碼支持 KW 和 KWP 模式
SunJCE 提供程序已得到增強(qiáng),以支持 AES 密鑰包裝算法 (RFC 3394) 和帶填充算法的 AES 密鑰包裝 (RFC 5649)。在早期版本中,SunJCE 提供程序在“AESWrap”密碼算法下支持 RFC 3394,該算法只能用于包裝和解包密鑰。通過此增強(qiáng)功能,添加了兩種分組密碼模式 KW 和 KWP,它們支持使用 AES 進(jìn)行數(shù)據(jù)加密/解密和密鑰包裝/解包。請查看“JDK 提供程序文檔”指南的“SunJCE 提供程序”部分以獲取更多詳細(xì)信息。
24、新的 SunPKCS11 配置屬性
SunPKCS11 提供程序添加了新的提供程序配置屬性以更好地控制本機(jī)資源的使用。SunPKCS11 提供程序消耗本機(jī)資源以使用本機(jī) PKCS11 庫。為了管理和更好地控制原生資源,添加了額外的配置屬性來控制清除原生引用的頻率以及注銷后是否銷毀底層 PKCS11 Token。
SunPKCS11 提供程序配置文件的 3 個新屬性是:
destroyTokenAfterLogout(布爾值,默認(rèn)為 false)如果設(shè)置為 true,則在java.security.AuthProvider.logout()調(diào)用 SunPKCS11 提供程序?qū)嵗龝r,將銷毀底層 Token 對象并釋放資源。這實(shí)質(zhì)上使 SunPKCS11 提供程序?qū)嵗?logout() 調(diào)用后無法使用。請注意,不應(yīng)將此屬性設(shè)置為 true 的 PKCS11 提供程序添加到系統(tǒng)提供程序列表中,因?yàn)樵撎峁┏绦驅(qū)ο笤?logout() 方法調(diào)用后不可用。
cleaner.shortInterval(整數(shù),默認(rèn)為 2000,以毫秒為單位)這定義了在繁忙期間清除本地引用的頻率,即清潔線程應(yīng)多久處理一次隊(duì)列中不再需要的本地引用以釋放本地內(nèi)存。請注意,在 200 次嘗試失敗后,即在隊(duì)列中找不到引用時,更清潔線程將切換到“longInterval”頻率。
cleaner.longInterval(整數(shù),默認(rèn)為 60000,以毫秒為單位)這定義了在非繁忙期間檢查本機(jī)引用的頻率,即清潔線程檢查本機(jī)引用隊(duì)列的頻率。請注意,如果檢測到用于清潔的本機(jī) PKCS11 引用,則清潔器線程將切換回“shortInterval”值。
25、具有系統(tǒng)屬性的可配置擴(kuò)展
添加了兩個新的系統(tǒng)屬性。系統(tǒng)屬性jdk.tls.client.disableExtensions用于禁用客戶端中使用的 TLS 擴(kuò)展。系統(tǒng)屬性jdk.tls.server.disableExtensions用于禁用服務(wù)器中使用的 TLS 擴(kuò)展。如果一個擴(kuò)展被禁用,它既不會在握手消息中產(chǎn)生也不會被處理。
屬性字符串是以逗號分隔的標(biāo)準(zhǔn) TLS 擴(kuò)展名稱列表,如 IANA 文檔中所注冊(例如,server_name、status_request 和 signature_algorithms_cert)。請注意,擴(kuò)展名區(qū)分大小寫。未知、不受支持、拼寫錯誤和重復(fù)的 TLS 擴(kuò)展名令牌將被忽略。
請注意,阻止 TLS 擴(kuò)展的影響是復(fù)雜的。例如,如果禁用強(qiáng)制擴(kuò)展,則可能無法建立 TLS 連接。請不要禁用強(qiáng)制擴(kuò)展,除非您清楚地了解其影響,否則不要使用此功能。
26、 包摘要頁面上的“相關(guān)包”
包的摘要頁面現(xiàn)在包括一個列出所有“相關(guān)包”的部分。相關(guān)包的集合是根據(jù)常見的命名約定啟發(fā)式確定的,可能包括以下內(nèi)容:
“父”包(即,包是其子包的包)
兄弟包(即具有相同父包的其他包)
任何子包
相關(guān)的包不需要都在同一個模塊中。
1、所有平臺
jar-為類和資源創(chuàng)建檔案,并從檔案中操作或還原單個類或資源
jarsigner-簽名并驗(yàn)證Java歸檔(JAR)文件
java-啟動Java應(yīng)用程序
javac-讀取Java類和接口定義,并將它們編譯為字節(jié)碼和類文件
javadoc-從Java源文件生成API文檔的HTML頁面
javap-反匯編一個或多個類文件
jcmd-將診斷命令請求發(fā)送到正在運(yùn)行的Java虛擬機(jī)(JVM)
jconsole-啟動圖形控制臺以監(jiān)視和管理Java應(yīng)用程序
jdb-查找并修復(fù)Java平臺程序中的錯誤
jdeprscan-靜態(tài)分析工具,它掃描jar文件(或其他一些類文件的聚合)以使用不贊成使用的API元素
jdeps-啟動Java類依賴分析器
jfr-解析和打印Flight Recorder文件
jhsdb-附加到Java進(jìn)程或啟動事后調(diào)試器以分析崩潰的Java虛擬機(jī)(JVM)中核心轉(zhuǎn)儲的內(nèi)容
jinfo-為指定的Java進(jìn)程生成Java配置信息
jlink-將一組模塊及其依賴性組裝并優(yōu)化到一個自定義運(yùn)行時映像中
jmap-打印指定進(jìn)程的詳細(xì)信息
jmod-創(chuàng)建JMOD文件并列出現(xiàn)有JMOD文件的內(nèi)容
jpackage-打包一個自包含的Java應(yīng)用程序
jps-列出目標(biāo)系統(tǒng)上已檢測的JVM
jrunscript-運(yùn)行支持交互式和批處理模式的命令行腳本外殼
jshell-以讀取-評估-打印循環(huán)(REPL)交互方式評估Java編程語言的聲明,語句和表達(dá)式
jstack-為指定的Java進(jìn)程打印Java線程的Java堆棧跟蹤
jstat-監(jiān)視JVM統(tǒng)計(jì)信息
jstatd-監(jiān)視已安裝的Java HotSpot VM的創(chuàng)建和終止
keytool-管理加密密鑰,X.509證書鏈和受信任證書的密鑰庫(數(shù)據(jù)庫)
rmid-啟動激活系統(tǒng)守護(hù)程序,該守護(hù)程序允許在Java虛擬機(jī)(JVM)中注冊和激活對象
rmiregistry-在當(dāng)前主機(jī)的指定端口上創(chuàng)建并啟動遠(yuǎn)程對象注冊表
serialver-以適合復(fù)制到正在演變的類中的形式為一個或多個類返回“ serialVersionUID”
2、僅Windows
jabswitch-啟用或禁用Java Access Bridge
jaccessinspector-使用Java Accessibility Utilities API檢查有關(guān)Java虛擬機(jī)中對象的可訪問信息
jaccesswalker-瀏覽特定Java虛擬機(jī)中的組件樹,并在樹視圖中顯示層次結(jié)構(gòu)
javaw-在沒有控制臺窗口的情況下啟動Java應(yīng)用程序
kinit-獲取并緩存授予Kerberos票證的票證
klist-顯示本地憑據(jù)緩存和密鑰表中的條目
ktab-管理存儲在本地密鑰表中的主體名稱和服務(wù)密鑰
標(biāo)簽: JDK Java SE Development Kit
intellij idea 2022.1.0破解版 32位/64位 中文免費(fèi)版 693.24M | 簡體中文 | 3.2
下載jdk8 32位安裝包 V8.0.3410.10 免費(fèi)版 157.7M | 簡體中文 | 5.2
下載JAVA JDK V15.0.1 官方免費(fèi)版 159.43M | 簡體中文 | 0
下載Java SE Development Kit 64位 U8.0.331 官方最新版 172.54M | 簡體中文 | 8.3
下載eclipse 64位 V4.8 官方最新版 312.3M | 簡體中文 | 10
下載java8u101版本 32/64位 官方最新版 766K | 簡體中文 | 2.7
下載關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 www.obymc.com.All rights reserved.
浙ICP備06019006號-1 浙公網(wǎng)安備33038102330474號