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