Java SE Development
Kit提供Java開(kāi)發(fā)環(huán)境,如果你需要使用Java開(kāi)發(fā)新的應(yīng)用程序就可以下載這款軟件使用,軟件提供了很多開(kāi)發(fā)工具,提供了運(yùn)行環(huán)境,提供了兼容庫(kù),提供API文檔,提供jdk工具,提供JShell,提供Javadoc,提供核心庫(kù)資源,功能還是非常多的,讓用戶可以在開(kāi)發(fā)新的應(yīng)用程序時(shí)獲得更多幫助,無(wú)論是開(kāi)發(fā)新的軟件還是測(cè)試應(yīng)用程序運(yùn)行狀態(tài)都是非常適合的,如果你需要JDK就可以下載Java
SE Development Kit21版本使用。
1. 語(yǔ)言特點(diǎn)
記錄模式
使用記錄模式增強(qiáng) Java 編程語(yǔ)言以解構(gòu)記錄值。可以嵌套記錄模式和類型模式,以實(shí)現(xiàn)功能強(qiáng)大、聲明性和可組合形式的數(shù)據(jù)導(dǎo)航和處理。
開(kāi)關(guān)模式匹配
通過(guò)表達(dá)式和語(yǔ)句的模式匹配來(lái)增強(qiáng) Java 編程語(yǔ)言。擴(kuò)展模式匹配允許針對(duì)多個(gè)模式測(cè)試表達(dá)式,每個(gè)模式都有一個(gè)特定的操作,以便可以簡(jiǎn)潔安全地表達(dá)復(fù)雜的面向數(shù)據(jù)的查詢。
1.1 語(yǔ)言功能預(yù)覽
字符串模板(預(yù)覽版)
使用字符串模板增強(qiáng) Java 編程語(yǔ)言。字符串模板通過(guò)將文字文本與嵌入式表達(dá)式和模板處理器耦合來(lái)補(bǔ)充 Java 現(xiàn)有的字符串文字和文本塊,以產(chǎn)生專門的結(jié)果。這是一個(gè)預(yù)覽語(yǔ)言功能和 API。
未命名模式和變量(預(yù)覽版)
使用未命名的模式(與記錄組件匹配而不說(shuō)明組件的名稱或類型)和未命名變量(可以初始化但不使用)來(lái)增強(qiáng) Java 語(yǔ)言。兩者都由下劃線字符 表示。這是一項(xiàng)預(yù)覽語(yǔ)言功能。_
未命名類和實(shí)例主方法(預(yù)覽版)
改進(jìn) Java 語(yǔ)言,以便學(xué)生可以編寫(xiě)他們的第一個(gè)程序,而無(wú)需了解為大型程序設(shè)計(jì)的語(yǔ)言功能。學(xué)生遠(yuǎn)非使用單獨(dú)的Java方言,而是可以為單類程序編寫(xiě)簡(jiǎn)化的聲明,然后隨著技能的增長(zhǎng)無(wú)縫擴(kuò)展他們的程序以使用更高級(jí)的功能。這是一項(xiàng)預(yù)覽語(yǔ)言功能。
2. 庫(kù)改進(jìn)
虛擬線程
將虛擬線程引入 Java 平臺(tái)。虛擬線程是輕量級(jí)線程,可顯著減少編寫(xiě)、維護(hù)和觀察高吞吐量并發(fā)應(yīng)用程序的工作量。
排序集合
引入新接口來(lái)表示具有定義的遭遇順序的集合。每個(gè)這樣的集合都有一個(gè)明確定義的第一個(gè)元素、第二個(gè)元素,依此類推,直到最后一個(gè)元素。它還提供統(tǒng)一的 API,用于訪問(wèn)其第一個(gè)和最后一個(gè)元素,以及以相反的順序處理其元素。
“生活只能倒著理解;但它必須向前生活。
可執(zhí)行程序
(在bin/子目錄中)Java運(yùn)行時(shí)環(huán)境(JRE)的實(shí)現(xiàn)。JRE包括Java虛擬機(jī)(JVM?)、類庫(kù)和其他支持執(zhí)行用Java編程語(yǔ)言編寫(xiě)的程序的文件。該目錄還包括一些工具和實(shí)用程序,它們將幫助您開(kāi)發(fā)、執(zhí)行、調(diào)試和記錄用Java編程語(yǔ)言編寫(xiě)的程序。有關(guān)更多信息,請(qǐng)參閱JDK 21工具規(guī)范https://docs.oracle.com/en/java/javase/21/docs/specs/man/index.html
配置文件
(在conf/子目錄中)包含用戶可配置選項(xiàng)的文件。可以編輯此目錄中的文件以更改JDK的訪問(wèn)權(quán)限、配置安全算法,并設(shè)置可能用于限制JDK加密強(qiáng)度的Java加密擴(kuò)展策略文件。
C頭文件
(在include/子目錄中)C語(yǔ)言頭文件,支持使用Java native Interface和Java Virtual Machine(JVM)Debugger Interface進(jìn)行本機(jī)代碼編程。
編譯的Java模塊
(在jmods/子目錄中)jlink用于創(chuàng)建自定義運(yùn)行時(shí)的已編譯模塊。
版權(quán)和許可證文件
(在legal/子目錄中)每個(gè)模塊的許可證和版權(quán)文件。包括作為.md(markdown)文件的第三方通知。
其他庫(kù)
(在lib/子目錄中)JDK所需的其他類庫(kù)和支持文件。這些文件不用于外部使用。
1、將Java SE Development Kit直接安裝到電腦,點(diǎn)擊下一步
2、提示軟件的安裝位置設(shè)置,默認(rèn)安裝到C盤
3、提示安裝過(guò)程,等等Java SE Development Kit安裝結(jié)束吧
4、Java SE Development Kit成功部署到電腦,可以查看后續(xù)步驟
新功能
核心libs/java.net
TCP_KEEPxxxx擴(kuò)展套接字選項(xiàng)現(xiàn)在在Windows平臺(tái)上受支持(JDK-8308593)
java.net。ExtendedSocketOptions TCP_KEEPIDLE和TCP_KEPEINTERVAL在從Windows 10版本1709及以后的Windows平臺(tái)上受支持。從Windows 10版本1703及更高版本開(kāi)始支持TCP_KEEPCOUNT。
已知問(wèn)題
熱點(diǎn)/編譯器
由于有限范圍檢查消除而導(dǎo)致的潛在性能回歸(JDK-8314468(非公開(kāi)))
當(dāng)C1編譯器是VM唯一可用的編譯器時(shí),它會(huì)應(yīng)用循環(huán)預(yù)測(cè)來(lái)從循環(huán)體中刪除數(shù)組訪問(wèn)范圍檢查。由于存在缺陷,此優(yōu)化被禁用,可能導(dǎo)致性能回歸。
這只會(huì)影響使用非默認(rèn)命令行標(biāo)志-XX:+NeverActAsServerClassMachine或-XX:TieredStopAtLevel=[1,2,3]運(yùn)行的客戶端虛擬機(jī)。
已修復(fù)的問(wèn)題
熱點(diǎn)/編譯器
ZGC:重新引入對(duì)非默認(rèn)ObjectAlignmentInBytes的支持(JDK-8315082)
JDK 21問(wèn)題已經(jīng)解決,當(dāng)使用-XX:+UseZGC和非默認(rèn)值-XX:ObjectAlignmentInBytes運(yùn)行JVM時(shí),該問(wèn)題可能會(huì)導(dǎo)致JVM崩潰或錯(cuò)誤執(zhí)行,并且可以再次使用JVM選項(xiàng)的這種組合。
修復(fù)
PassFailJFrame指令的HTML格式
處理WideCharToMultiByte返回值
BasicStroke.createStrokedShape斜接限制在小型形狀上失敗
默認(rèn)目標(biāo)的ColorConvertOp.filter太慢
JPEG解碼中的附加負(fù)值檢查
將HarfBuzz更新為8.2.2
將Libpng更新至1.6.40
使用JFileChooser或COM庫(kù)時(shí),屏幕鎖定后的TargetDataLine無(wú)效
將屏幕捕獲功能添加到PassFailJFrame
復(fù)選框和單選按鈕在高DPI環(huán)境下的Windows上存在渲染問(wèn)題
libCreationTimeHelper.so在JDK 21中鏈接失敗
來(lái)自虛擬線程的線程中斷不必要地重置中斷狀態(tài)
使用字節(jié)順序和地址大小擴(kuò)展內(nèi)部體系結(jié)構(gòu)枚舉
如果在JDK-8302163之后禁用了CompactStrings,RegionMatches1Tests將失敗
在8315026之后調(diào)整os_getChildren的描述注釋
改進(jìn)IllegalaccessException消息以包括異常的原因
如果加載程序?yàn)閚ull并且接口在類加載程序中不可見(jiàn),則Proxy.newProxylinstance拋出NPE
流:handleReset鎖兩次
(bf)DirectByteBuffer中的并發(fā)問(wèn)題。經(jīng)銷商
(dc)DatagramChannel的套接字適配器在接收阻塞時(shí)不會(huì)釋放承載線程
(fs)為L(zhǎng)inux添加對(duì)BasicFileAttributes.creationTime()的支持
改進(jìn)sun.nio.ch.Net本機(jī)方法拋出的異常消息(win)
JDK-8246677在SynchronousQueue中導(dǎo)致16x性能回歸
簽名jar觸發(fā)Logger finder遞歸和StackOverflowError
通過(guò)關(guān)于allow選項(xiàng)的信息增強(qiáng)agentlib:jdwp幫助輸出
C1:ShortLoopOptimizer可能會(huì)在指令輸入之前提升指令
CodeBlob的更好診斷標(biāo)頭
LibraryCallKit中的控件不正確:inline_anative_notify_jvmti_funcs
assert(強(qiáng)制轉(zhuǎn)換!=nullptr)失敗:必須添加了一個(gè)強(qiáng)制轉(zhuǎn)換來(lái)固定節(jié)點(diǎn)
將快速鎖定實(shí)現(xiàn)從.ad文件中移出
[BACKUT]8308682:增強(qiáng)AES性能
[REDO]增強(qiáng)AES性能
VectorMaskGen在x86_64上破壞rflags
C2編譯失敗,出現(xiàn)“Exceeded _node_regs array”
自JDK 17以來(lái),C2編譯時(shí)間大幅增加(高達(dá)約30倍)
C2 SuperWord:錯(cuò)誤的結(jié)果,如果不可比較,則不應(yīng)在存儲(chǔ)前移動(dòng)負(fù)載
C2:“控制輸入必須主導(dǎo)電流控制”斷言失敗
C2:在斷言后添加救助在build_loop_late中檢測(cè)到壞圖
C2:大字節(jié)陣列克隆觸發(fā)linux-x86上的“失敗:格式錯(cuò)誤的控制流”斷言失敗
C2編譯失敗,出現(xiàn)“錯(cuò)誤的AD文件”
C2編譯仍然失敗,原因是“AD文件不正確”
網(wǎng)友評(píng)論