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