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