當(dāng)下軟件園 / 匯聚當(dāng)下最新最酷的軟件下載站!
當(dāng)下軟件園

您的位置: 首頁(yè) > 應(yīng)用軟件 > 編程工具 > Java SE Development Kit18 64位 官方離線版
Java SE Development Kit Java SE Development Kit18 64位 官方離線版 / JDK18下載 版本

  Java SE Development Kit是一款非常專業(yè)的Java開發(fā)工具包。它由甲骨文Oracle公司開發(fā)設(shè)計(jì),目前該版本推出了全新的18.0版本,包含Java運(yùn)行環(huán)境、Java開發(fā)工具和Java基礎(chǔ)類庫(kù)源代碼,是Java開發(fā)以及安卓開發(fā)用戶的必備JRE運(yùn)行環(huán)境,免費(fèi)下載,歡迎嘗試。

Java SE Development Kit18

【JRE和JDK的區(qū)別】

  如果在學(xué)習(xí)或從事Java開發(fā)、編譯java程序,那么安裝JDK

  如果僅需運(yùn)行java程序,只需要Java運(yùn)行庫(kù),那么安裝JRE

  Java Development Kit(簡(jiǎn)稱JDK)= Java開發(fā)套件,Java開發(fā)工具包,面向Java語(yǔ)言開發(fā)者。

  Java Runtime Environment(簡(jiǎn)稱JRE)= Java運(yùn)行庫(kù),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工具類庫(kù)(如tools.jar)源代碼等java語(yǔ)言編譯所需的工具包。

  JRE:Java語(yǔ)言開發(fā)的程序運(yùn)行所需要的運(yùn)行環(huán)境,包括JVM標(biāo)準(zhǔn)實(shí)現(xiàn)(java.exe等)及 Java核心類庫(kù)(rt.jar等),它不包含開發(fā)工具(編譯器、調(diào)試器等)

Java SE Development Kit18

【新功能】

  1、JEP 409:密封類

  密封類已添加到 Java 語(yǔ)言中。密封類和接口限制哪些其他類或接口可以擴(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á)式和語(yǔ)句的模式匹配以及對(duì)模式語(yǔ)言的擴(kuò)展來(lái)增強(qiáng) Java 編程語(yǔ)言。將模式匹配擴(kuò)展到 switch 允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有特定的操作,以便可以簡(jiǎn)潔安全地表達(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)通過(guò)設(shè)置系統(tǒng)屬性來(lái)指定其用途:

  -Dsun.java2d.metal=true

  Metal 或 OpenGL 的使用對(duì)應(yīng)用程序是透明的,因?yàn)檫@是內(nèi)部實(shí)現(xiàn)的差異并且對(duì) Java API 沒有影響。金屬管道需要 macOS 10.14.x 或更高版本。將忽略在早期版本上設(shè)置它的嘗試。

  4、 用于訪問(wèn)大圖標(biāo)的新 API

  javax.swing.filechooser.FileSystemView.getSystemIcon(File, int, int)JDK 17 中提供了一種新方法 ,可以在可能的情況下訪問(wèn)更高質(zhì)量的圖標(biāo)。完全針對(duì)Windows平臺(tái)實(shí)現(xiàn);但是,其他平臺(tái)上的結(jié)果可能會(huì)有所不同,稍后會(huì)得到增強(qiáng)。例如,通過(guò)使用以下代碼:

  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此版本中已更新以添加對(duì)加入多播組的支持?,F(xiàn)在定義joinGroup和leaveGroup方法加入和離開組播組。java.net.DatagramSocket已更新的類級(jí) API 文檔解釋了如何DatagramSocket配置普通的以及如何使用它來(lái)加入和離開多播組。

  此更改意味著DatagramSocketAPI 可用于多播應(yīng)用程序,而無(wú)需使用舊版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 即時(shí) (JIT) 編譯器中使用的中間表示的工具,已經(jīng)現(xiàn)代化。增強(qiáng)功能包括:

  支持在高達(dá) JDK 15(IGV 底層 NetBeans 平臺(tái)支持的最新版本)上運(yùn)行 IGV

  更快的基于 Maven 的 IGV 構(gòu)建系統(tǒng)

  穩(wěn)定塊形成、組移除和節(jié)點(diǎn)跟蹤

  默認(rèn)過(guò)濾器中更直觀的著色和節(jié)點(diǎn)分類

  具有更自然默認(rèn)行為的排名快速節(jié)點(diǎn)搜索

  現(xiàn)代化的 IGV與早期 JDK 版本生成的圖形部分兼容。它支持圖形加載和可視化等基本功能,但可能會(huì)影響節(jié)點(diǎn)聚類和著色等輔助功能。

  src/utils/IdealGraphVisualizer/README.md工具源目錄中的文件中提供了有關(guān)構(gòu)建和運(yùn)行 IGV 的詳細(xì)信息。

  8、錯(cuò)誤消息中的源詳細(xì)信息

  當(dāng) JavaDoc 報(bào)告輸入源文件中的問(wèn)題時(shí),它會(huì)顯示該問(wèn)題的源代碼行,以及包含^指向該行位置的插入符號(hào) ( ) 的行,其方式類似于編譯器 ( javac) 診斷消息。

  此外,日志和其他“信息”消息現(xiàn)在被寫入標(biāo)準(zhǔn)錯(cuò)誤流,讓標(biāo)準(zhǔn)輸出流用于命令行選項(xiàng)特別請(qǐng)求的輸出,例如命令行幫助。

  9、新的“新 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)題文本使用。

  在匯總棄用項(xiàng)目的頁(yè)面上,您可以查看按棄用項(xiàng)目所在版本分組的項(xiàng)目。

  10、JEP 412:外部函數(shù)和內(nèi)存 API(孵化器)

  介紹一個(gè) API,Java 程序可以通過(guò)該 API 與 Java 運(yùn)行時(shí)之外的代碼和數(shù)據(jù)進(jìn)行互操作。通過(guò)有效調(diào)用外部函數(shù)(即 JVM 之外的代碼),以及安全地訪問(wèn)外部?jī)?nèi)存(即不由 JVM 管理的內(nèi)存),API 使 Java 程序能夠調(diào)用本地庫(kù)和處理本地?cái)?shù)據(jù),而沒有JNI。

  11、控制臺(tái)字符集 API

  java.io.Console已更新以定義返回Charset控制臺(tái)的新方法。返回的字符集可能與從Charset.defaultCharset()方法返回的字符集不同。例如,它返回IBM437whileCharset.defaultCharset()返回windows-1252Windows (en-US)。

  12、用于反序列化的 JDK 飛行記錄器事件

  現(xiàn)在可以使用 JDK Flight Recorder (JFR) 監(jiān)視對(duì)象的反序列化。當(dāng)啟用 JFR 并且 JFR 配置包括反序列化事件時(shí),每當(dāng)正在運(yùn)行的程序嘗試反序列化對(duì)象時(shí),JFR 都會(huì)發(fā)出一個(gè)事件。反序列化事件名為jfr.Deserialization,默認(rèn)情況下是禁用的。反序列化事件包含序列化過(guò)濾器機(jī)制使用的信息;請(qǐng)參閱ObjectInputFilter規(guī)范。此外,如果啟用了過(guò)濾器,則 JFR 事件指示過(guò)濾器是接受還是拒絕對(duì)象的反序列化。

  13、JEP 415:實(shí)現(xiàn)特定于上下文的反序列化過(guò)濾器

  JEP 415:特定于上下文的反序列化過(guò)濾器允許應(yīng)用程序通過(guò) JVM 范圍的過(guò)濾器工廠配置特定于上下文和動(dòng)態(tài)選擇的反序列化過(guò)濾器,該工廠被調(diào)用以為每個(gè)單獨(dú)的反序列化操作選擇一個(gè)過(guò)濾器。

  14、本地字符編碼名稱的系統(tǒng)屬性

  引入了新的系統(tǒng)屬性native.encoding。此系統(tǒng)屬性提供底層主機(jī)環(huán)境的字符編碼名稱。例如,通常它UTF-8在 Linux 和 macOS 平臺(tái)以及Cp1252Windows (en-US) 中都有。

  15、添加 java.time.InstantSource

  java.time.InstantSource引入了一個(gè)新界面。這個(gè)接口是一個(gè)抽象java.time.Clock,只關(guān)注當(dāng)前時(shí)刻,不涉及時(shí)區(qū)。

  16、十六進(jìn)制格式和解析實(shí)用程序

  java.util.HexFormat為原始類型和字節(jié)數(shù)組提供與十六進(jìn)制之間的轉(zhuǎn)換。分隔符、前綴、后綴和大寫或小寫的選項(xiàng)由返回 HexFormat 實(shí)例的工廠方法提供。

  17、實(shí)驗(yàn)編譯器黑洞支持

  添加了對(duì)編譯器黑洞的實(shí)驗(yàn)支持。這些對(duì)于低級(jí)基準(zhǔn)測(cè)試很有用,以避免在關(guān)鍵路徑上消除死代碼,而不會(huì)影響基準(zhǔn)性能。當(dāng)前的支持是作為 CompileCommand 實(shí)現(xiàn)的,可作為 訪問(wèn)-XX:CompileCommand=blackhole,<method>,并計(jì)劃最終將其升級(jí)為公共 API。

  18、 HotSpot JVM中新的類層次分析實(shí)現(xiàn)

  HotSpot JVM 中引入了新的類層次結(jié)構(gòu)分析實(shí)現(xiàn)。它增強(qiáng)了對(duì)抽象和默認(rèn)方法的處理,從而改進(jìn)了 JIT 編譯器做出的內(nèi)聯(lián)決策。新的實(shí)現(xiàn)取代了原來(lái)的實(shí)現(xiàn)并且默認(rèn)是開啟的。

  為了幫助診斷與新實(shí)現(xiàn)相關(guān)的可能問(wèn)題,可以通過(guò)指定-XX:+UnlockDiagnosticVMOptions -XX:-UseVtableBasedCHA命令行標(biāo)志來(lái)打開原始實(shí)現(xiàn)。

  原始實(shí)現(xiàn)可能會(huì)在未來(lái)版本中刪除。

  19、 JEP 391:macOS/AArch64 端口

  macOS 11.0 現(xiàn)在支持 AArch64 架構(gòu)。該 JEP 在 JDK 中實(shí)現(xiàn)了對(duì) macos-aarch64 平臺(tái)的支持。添加的功能之一是支持 W^X(寫異或執(zhí)行)內(nèi)存。它僅對(duì) macos-aarch64 啟用,并且可以在某些時(shí)候擴(kuò)展到其他平臺(tái)。JDK 既可以在 Intel 機(jī)器上交叉編譯,也可以在基于 Apple M1 的機(jī)器上編譯。

  20、統(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=

  21、ARM 上的 macOS 可搶先體驗(yàn)

  新的 macOS 現(xiàn)在可用于 ARM 系統(tǒng)。ARM 端口的行為應(yīng)該類似于 Intel 端口。沒有已知的功能差異。在 macOS 上報(bào)告問(wèn)題時(shí),請(qǐng)指定是使用 ARM 還是 x64。

  22、 支持在 Keytool -genkeypair 命令中指定簽名者

  在-signer和-signerkeypass選項(xiàng)已被添加到-genkeypair該命令keytool程序。該-signer選項(xiàng)指定PrivateKeyEntry簽名者的密鑰庫(kù)別名,該-signerkeypass選項(xiàng)指定用于保護(hù)簽名者私鑰的密碼。這些選項(xiàng)允許keytool -genkeypair使用簽名者的私鑰對(duì)證書進(jìn)行簽名。這對(duì)于生成使用密鑰協(xié)商算法作為其公鑰算法的證書特別有用。

  23、SunJCE Provider 使用 AES 密碼支持 KW 和 KWP 模式

  SunJCE 提供程序已得到增強(qiáng),以支持 AES 密鑰包裝算法 (RFC 3394) 和帶填充算法的 AES 密鑰包裝 (RFC 5649)。在早期版本中,SunJCE 提供程序在“AESWrap”密碼算法下支持 RFC 3394,該算法只能用于包裝和解包密鑰。通過(guò)此增強(qiáng)功能,添加了兩種分組密碼模式 KW 和 KWP,它們支持使用 AES 進(jìn)行數(shù)據(jù)加密/解密和密鑰包裝/解包。請(qǐng)查看“JDK 提供程序文檔”指南的“SunJCE 提供程序”部分以獲取更多詳細(xì)信息。

  24、新的 SunPKCS11 配置屬性

  SunPKCS11 提供程序添加了新的提供程序配置屬性以更好地控制本機(jī)資源的使用。SunPKCS11 提供程序消耗本機(jī)資源以使用本機(jī) PKCS11 庫(kù)。為了管理和更好地控制原生資源,添加了額外的配置屬性來(lái)控制清除原生引用的頻率以及注銷后是否銷毀底層 PKCS11 Token。

  SunPKCS11 提供程序配置文件的 3 個(gè)新屬性是:

  destroyTokenAfterLogout(布爾值,默認(rèn)為 false)如果設(shè)置為 true,則在java.security.AuthProvider.logout()調(diào)用 SunPKCS11 提供程序?qū)嵗龝r(shí),將銷毀底層 Token 對(duì)象并釋放資源。這實(shí)質(zhì)上使 SunPKCS11 提供程序?qū)嵗?logout() 調(diào)用后無(wú)法使用。請(qǐng)注意,不應(yīng)將此屬性設(shè)置為 true 的 PKCS11 提供程序添加到系統(tǒng)提供程序列表中,因?yàn)樵撎峁┏绦驅(qū)ο笤?logout() 方法調(diào)用后不可用。

  cleaner.shortInterval(整數(shù),默認(rèn)為 2000,以毫秒為單位)這定義了在繁忙期間清除本地引用的頻率,即清潔線程應(yīng)多久處理一次隊(duì)列中不再需要的本地引用以釋放本地內(nèi)存。請(qǐng)注意,在 200 次嘗試失敗后,即在隊(duì)列中找不到引用時(shí),更清潔線程將切換到“longInterval”頻率。

  cleaner.longInterval(整數(shù),默認(rèn)為 60000,以毫秒為單位)這定義了在非繁忙期間檢查本機(jī)引用的頻率,即清潔線程檢查本機(jī)引用隊(duì)列的頻率。請(qǐng)注意,如果檢測(cè)到用于清潔的本機(jī) PKCS11 引用,則清潔器線程將切換回“shortInterval”值。

  25、具有系統(tǒng)屬性的可配置擴(kuò)展

  添加了兩個(gè)新的系統(tǒng)屬性。系統(tǒng)屬性jdk.tls.client.disableExtensions用于禁用客戶端中使用的 TLS 擴(kuò)展。系統(tǒng)屬性jdk.tls.server.disableExtensions用于禁用服務(wù)器中使用的 TLS 擴(kuò)展。如果一個(gè)擴(kuò)展被禁用,它既不會(huì)在握手消息中產(chǎn)生也不會(huì)被處理。

  屬性字符串是以逗號(hào)分隔的標(biāo)準(zhǔn) TLS 擴(kuò)展名稱列表,如 IANA 文檔中所注冊(cè)(例如,server_name、status_request 和 signature_algorithms_cert)。請(qǐng)注意,擴(kuò)展名區(qū)分大小寫。未知、不受支持、拼寫錯(cuò)誤和重復(fù)的 TLS 擴(kuò)展名令牌將被忽略。

  請(qǐng)注意,阻止 TLS 擴(kuò)展的影響是復(fù)雜的。例如,如果禁用強(qiáng)制擴(kuò)展,則可能無(wú)法建立 TLS 連接。請(qǐng)不要禁用強(qiáng)制擴(kuò)展,除非您清楚地了解其影響,否則不要使用此功能。

  26、 包摘要頁(yè)面上的“相關(guān)包”

  包的摘要頁(yè)面現(xiàn)在包括一個(gè)列出所有“相關(guān)包”的部分。相關(guān)包的集合是根據(jù)常見的命名約定啟發(fā)式確定的,可能包括以下內(nèi)容:

  “父”包(即,包是其子包的包)

  兄弟包(即具有相同父包的其他包)

  任何子包

  相關(guān)的包不需要都在同一個(gè)模塊中。

Java SE Development Kit18

【使用說(shuō)明】

  1、所有平臺(tái)

  jar-為類和資源創(chuàng)建檔案,并從檔案中操作或還原單個(gè)類或資源

  jarsigner-簽名并驗(yàn)證Java歸檔(JAR)文件

  java-啟動(dòng)Java應(yīng)用程序

  javac-讀取Java類和接口定義,并將它們編譯為字節(jié)碼和類文件

  javadoc-從Java源文件生成API文檔的HTML頁(yè)面

  javap-反匯編一個(gè)或多個(gè)類文件

  jcmd-將診斷命令請(qǐng)求發(fā)送到正在運(yùn)行的Java虛擬機(jī)(JVM)

  jconsole-啟動(dòng)圖形控制臺(tái)以監(jiān)視和管理Java應(yīng)用程序

  jdb-查找并修復(fù)Java平臺(tái)程序中的錯(cuò)誤

  jdeprscan-靜態(tài)分析工具,它掃描jar文件(或其他一些類文件的聚合)以使用不贊成使用的API元素

  jdeps-啟動(dòng)Java類依賴分析器

  jfr-解析和打印Flight Recorder文件

  jhsdb-附加到Java進(jìn)程或啟動(dòng)事后調(diào)試器以分析崩潰的Java虛擬機(jī)(JVM)中核心轉(zhuǎn)儲(chǔ)的內(nèi)容

  jinfo-為指定的Java進(jìn)程生成Java配置信息

  jlink-將一組模塊及其依賴性組裝并優(yōu)化到一個(gè)自定義運(yùn)行時(shí)映像中

  jmap-打印指定進(jìn)程的詳細(xì)信息

  jmod-創(chuàng)建JMOD文件并列出現(xiàn)有JMOD文件的內(nèi)容

  jpackage-打包一個(gè)自包含的Java應(yīng)用程序

  jps-列出目標(biāo)系統(tǒng)上已檢測(cè)的JVM

  jrunscript-運(yùn)行支持交互式和批處理模式的命令行腳本外殼

  jshell-以讀取-評(píng)估-打印循環(huán)(REPL)交互方式評(píng)估Java編程語(yǔ)言的聲明,語(yǔ)句和表達(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證書鏈和受信任證書的密鑰庫(kù)(數(shù)據(jù)庫(kù))

  rmid-啟動(dòng)激活系統(tǒng)守護(hù)程序,該守護(hù)程序允許在Java虛擬機(jī)(JVM)中注冊(cè)和激活對(duì)象

  rmiregistry-在當(dāng)前主機(jī)的指定端口上創(chuàng)建并啟動(dòng)遠(yuǎn)程對(duì)象注冊(cè)表

  serialver-以適合復(fù)制到正在演變的類中的形式為一個(gè)或多個(gè)類返回“ serialVersionUID”

  2、僅Windows

  jabswitch-啟用或禁用Java Access Bridge

  jaccessinspector-使用Java Accessibility Utilities API檢查有關(guān)Java虛擬機(jī)中對(duì)象的可訪問(wèn)信息

  jaccesswalker-瀏覽特定Java虛擬機(jī)中的組件樹,并在樹視圖中顯示層次結(jié)構(gòu)

  javaw-在沒有控制臺(tái)窗口的情況下啟動(dòng)Java應(yīng)用程序

  kinit-獲取并緩存授予Kerberos票證的票證

  klist-顯示本地憑據(jù)緩存和密鑰表中的條目

  ktab-管理存儲(chǔ)在本地密鑰表中的主體名稱和服務(wù)密鑰

軟件特別說(shuō)明

標(biāo)簽: JDK Java SE Development Kit

其他版本下載

更多(51)>Java程序員必備軟件

Java語(yǔ)言是應(yīng)用最廣泛的編程語(yǔ)言之一,不少程序員選擇從事Java的編程開發(fā),因?yàn)樗木幊汰h(huán)境相較于其他語(yǔ)言更加的友好。同時(shí),這也離不開一些開發(fā)輔助工具的幫助。小編就為大家整理了幾款Java程序員必備軟件,不容錯(cuò)過(guò)。 查看 >>
網(wǎng)友評(píng)論
回頂部 去下載

關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們

Copyright ? 2005-2024 daaijiaoyu.cn.All rights reserved.

浙ICP備2024132706號(hào)-1 浙公網(wǎng)安備33038102330474號(hào)