大小:164.75M
更新时间:26-10-27
系统:Pc
版本:v21.0.13.0.3
作为一种功能强大并简单易用的编程语言,Java收到广泛的欢迎,使用Java开发的软件也越来越多,而想要打开java编写的程序,就需要在电脑中安装java运行环境,多多小编这里给大家带来的是java se development kit 21,一般简称为jdk21,java 21,是全球广受欢迎的现代开发平台,也是企业应用的理想编程语言,有助于企业降低成本、缩短开发时间、推动创新以及改善应用服务。目前软件已经提供了数以千计的性能、稳定性和安全性改进,包括平台增强功能,可以帮助开发人员提高工作效率并推动整个组织的创新和增长。
与上一版本相比,java se development kit 21新增了多个新特性,比如引入的序列集合,可以为Java开发者提供一种新的、有序的、线程安全的集合实现。增加了三个主要的接口,包括SequencedCollection,SequencedSet和SequencedMap<K,V>;增加了虚拟线程,可以创建大量的线程,甚至达到百万级别,简化并发模式模型,简化代码,减少阻塞问题;还增加了字符串模板,提供了一种更简洁、更直观的方式来动态构建字符串,通过使用占位符${},可以将变量的值直接嵌入到字符串中,而不需要手动处理等等,这些特性不仅增强了Java语言的功能性,还在开发效率和程序性能上做出了质的飞跃。
一、序列集合
jdk21中引入的序列集合(Sequenced Collections)为Java开发者提供了一种新的、有序的、线程安全的集合实现。其特性如下:
1、有序性:每个Sequenced Collection都保持元素插入的顺序。这意味着当你遍历集合时,元素将按照它们被添加到集合中的顺序出现。
2、线程安全性:Sequenced Collections提供了线程安全的集合实现,可以在多线程环境下安全地访问和修改集合中的数据。这是通过一种称为“Sequenced Locks”的特殊锁机制实现的,它允许多个线程同时读取集合中的数据,但只允许一个线程进行写操作。
3、可扩展性:Sequenced Collections的设计考虑了可扩展性,可以处理大量数据的并发访问。
4、统一的接口:Sequenced Collections提供了一个统一的接口来表示具有定义好的出现顺序的集合,这使得在API中表达某些有用概念变得更加容易。同时,它还提供了一套统一的与顺序相关的操作集,使得不同类型的集合在处理顺序相关操作时方式更加一致。
二、主要接口
java se development kit 21为Sequenced Collections引入了三个主要的接口:
1、SequencedCollection:这是表示具有定义好的出现顺序的集合的基础接口。它继承了Collection接口,并添加了一系列与顺序相关的方法,如reversed()、addFirst(E)、addLast(E)、getFirst()、getLast()和removeFirst()等。
2、SequencedSet:这是Set接口的扩展,表示有序且不包含重复元素的集合。它继承了Set和SequencedCollection接口,并提供了reversed()方法以返回一个反转顺序的SequencedSet。
3、SequencedMap<K,V>:这是Map接口的扩展,表示条目具有定义好的遍历顺序的映射。它继承了Map接口,并添加了一系列与顺序相关的方法,如reversed()、sequencedKeySet()、sequencedValues()、sequencedEntrySet()、putFirst(K, V)、putLast(K, V)、firstEntry()、lastEntry()、pollFirstEntry()和pollLastEntry()等。
三、虚拟线程
jdk21增加了虚拟线程,其特性如下:
1、轻量级且可大量创建:虚拟线程开销小,可以创建大量的线程,甚至达到百万级别,相比传统线程创建百万级别可能导致内存或系统崩溃。
2、简化并发模式模型:虚拟线程的轻量特性使得在实现每一个请求都开一个线程来提高程序并发性能变得可行,同时简化了编程模型。
3、高可扩展性:虚拟线程可以充分利用系统资源,提高对系统CPU核数的利用率。
4、简化代码:虚拟线程使得同步编程风格的代码并发成为可能,程序员无需使用复杂的非阻塞编程手法。
5、减少阻塞问题:虚拟线程阻塞时会自动切换到其他正在运行的线程,充分利用CPU时间,提高效率。
6、管理与调度不同:平台线程由操作系统进行管理和调度,而虚拟线程由JVM进行管理与调度。
7、线程规模不同:平台线程的规模受到操作系统的限制,而虚拟线程没有这个限制,理论上来说虚拟线程的最大数量要比平台线程大得多。
8、使用成本不同:虚拟线程由JVM管理,分配不需要进行系统调用,也不受系统上下文切换的影响。
四、字符串模板
String Templates(字符串模板) 目前仍然是 JDK 21 中的一个预览功能。String Templates 提供了一种更简洁、更直观的方式来动态构建字符串。通过使用占位符${},我们可以将变量的值直接嵌入到字符串中,而不需要手动处理。其特性如下:
1、基本语法:字符串模板使用了一种简洁的语法来嵌入表达式。通常,这种嵌入是通过特定的标记(如$符号或{}花括号)来实现的。在JDK 21中,具体的语法可能因模板处理器的不同而有所差异。
2、模板处理器:JDK 21提供了多种内置的模板处理器,如STR、FMT和RAW,它们各自具有不同的行为和功能。例如,STR用于执行基础的字符串插值,FMT支持格式化操作,而RAW则用于创建未处理的StringTemplate对象。
3、动态内容生成:通过字符串模板,开发者可以轻松地将变量的值、方法调用的结果或其他表达式嵌入到字符串中,从而实现动态内容的生成。
五、记录模式
java se development kit 21增强了Java编程语言,引入了记录模式,用于解构记录值。记录模式可以嵌套和组合,提供了一种功能强大、声明性和可组合的数据导向编程方式。其特性如下:
1、简洁性:记录模式使用简洁的语法来匹配和解构记录类型,避免了冗长的类型检查和属性访问代码。
2、可读性:记录模式的语法更加直观易懂,使得代码更加清晰易读。
3、灵活性:记录模式支持对记录类型的属性进行匹配和解构,可以根据实际需求灵活地处理不同的对象类型。
4、安全性:通过编译时检查确保访问的正确性,避免错误的字段访问或类型不匹配问题。
六、分代ZGC
jdk21中对 ZGC 进行了功能扩展,增加了分代 GC 功能。不过,默认是关闭的,需要通过配置打开。其特性如下:
1、低延迟和高吞吐量:
- 分代ZGC通过并发处理和分代回收的策略,实现了非常低的停顿时间,适合对响应时间要求高的应用场景。
- 在尽可能减少停顿时间的同时,分代ZGC也能保持较高的垃圾回收吞吐量。
2、大堆支持:
- 分代ZGC可以处理非常大的堆内存,适用于需要大内存容量的应用程序。在JDK 21中,ZGC支持的最大堆大小已经增加到了16TB以上。
3、分代收集机制:
- 分代ZGC在逻辑上将堆内存划分为年轻代和老年代。年轻代用于存放新创建的对象,老年代则用于存放生命周期较长的对象。
- 通过频繁扫描年轻代,分代ZGC可以更高效地利用CPU资源,并减少分配停滞的风险和所需的堆内存开销。
4、并发处理:
- 在年轻代和老年代的垃圾回收过程中,分代ZGC都采用了并发处理的方式。这意味着在垃圾回收期间,应用程序线程可以继续执行,从而减少了停顿时间。
5、染色指针和读屏障:
- 分代ZGC使用了染色指针技术来标记指针,帮助识别跨区域的引用,并减少额外的元数据开销。
- 读屏障技术则用于在读取对象引用时自动更新指针,以反映对象的新位置。
6、动态内存布局:
- 分代ZGC的内存布局是动态的,可以根据应用程序的实际内存需求动态创建和销毁内存区域。这种设计使得ZGC能够更好地适应不同的工作负载和对象分布模式。
七、Switch模式
增强 Java 中的 switch 表达式和语句,允许在 case 标签中使用模式。当模式匹配时,执行 case 标签对应的代码。其特性如下:
1、类型模式匹配:
- 在JDK 21中,switch语句支持类型模式匹配,允许在case标签中直接进行类型检查和模式匹配。这意味着开发者可以针对不同类型的对象编写不同的处理逻辑,而无需使用显式的类型转换或if-else语句。
2、守卫模式:
- 守卫模式进一步增强了switch语句的匹配能力。它允许在case标签中添加额外的条件检查,从而实现更加精细的控制流。这使得switch语句能够处理更复杂的条件逻辑。
3、模式匹配的switch表达式:
- 除了switch语句外,JDK 21还增强了switch表达式的功能,使其支持类型模式和守卫模式。模式匹配的switch表达式使得代码更加简洁和直观,同时提高了代码的可读性和可维护性。
4、改进的类型推断:
- JDK 21中的switch语句和表达式在类型推断方面进行了改进,编译器能够更好地推断出switch表达式的返回类型,从而减少显式类型声明的需求。这有助于简化代码,并减少潜在的错误。
5、增强的错误检测能力:
- JDK 21对switch语句和表达式的错误检测能力进行了增强,可以更早地捕捉潜在的错误和不一致。例如,如果switch语句或表达式中的所有可能情况都没有被处理,编译器将发出警告或错误提示。
八、程序集模块化
jdk 21还增强了程序集模块化,其特性如下:
1、通过引入java.assembly模块,为Java程序集提供了一种新的模块化方式。这种方式允许开发者定义程序集的依赖关系、导出模块等,从而实现了代码的有效隔离和重用。
2、提高代码的可维护性:通过模块化,可以将代码拆分成更小的、更易于管理的部分,从而降低了代码的复杂度。
3、增强代码的可重用性:模块化的代码可以被不同的项目共享和重用,避免了重复劳动。
4、便于构建和部署:模块化使得构建和部署过程更加自动化和标准化,提高了开发效率。
此电脑->右键->属性->高级系统设置->环境变量:
1、「用户变量」和「系统变量」分别新建2条变量
变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_311(安装目录版本号路径)
2、「系统变量」双击->Path->编辑环境变量 -> 分别新建3条
%JAVA_HOME%\bin
C:\Program Files\Java\jdk21.0\bin
C:\Program Files\Java\jre21.0
3、# 检查JDK环境配置命令:
CMD 输入 java -version
如果在学习或从事Java开发、编译java程序,那么安装JDK
如果仅需运行java程序,只需要Java运行库,那么安装JRE
Java Development Kit(简称JDK)= Java开发套件,JAVA开发工具包,面向Java语言开发者。
Java Runtime Environment(简称JRE)= Java运行库,Java运行环境,面向Java程序用户们。
JDK:Java核心,含Java运行环境(JRE)、编译器(javac.exe)、开发工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和Java工具类库(如tools.jar)源代码等java语言编译所需的工具包。
JRE:Java语言开发的程序运行所需要的运行环境,包括JVM标准实现(java.exe等)及 Java核心类库(rt.jar等),它不包含开发工具(编译器、调试器等)
v21.0.13.0.3版本
一、此更新版本的完整版本字符串为 21.0.13.0.3+1(其中“+”表示“构建”)。
版本号为 21.0.13.0.3。此 JDK 符合 Java SE 规范的第 21 版
二、保持 JDK 更新
Oracle 建议在每次关键补丁更新时更新 JDK。为了确定某个版本是否为最新版本, 安全基线 页面可用于确定每个版本系列的最新版本。
包含安全漏洞修复的严重补丁更新,将在“严重补丁更新、安全警报和公告”上提前一年发布。 不建议在计划于2026年11月17日发布的下一次严重补丁更新之后继续使用此JDK
三、其他注释
1、移除 eMudhra 和 Comodo (由 Sectigo 所有) AAA 根证书
应用信息
其他版本 更多>>
java se development kit 17(jdk)v17.0.21.0.3官方版大小:154.66M时间:2026-10-27查看
java se development kit 25v25.0.5.0.3官方版大小:182.6M时间:2026-10-27查看
java se development kit 27v27.0.1.0.3大小:185.74M时间:2026-10-27查看
java se development kit 9(jdk9)v9.0.4 64位32位官方版大小:356.94M时间:2026-10-27查看
Java SE Development Kit(JDK)7.0官方正式版32位&64位大小:277.34M时间:2026-10-27查看
同类热门
sublime text 4中文版
visual studio 2026专业版
goland 2026官方版
qt creator中文版
myeclipse2026
Visual C++(集成SP6升级包)
CLion2025官方版
idea2025官方版
类似软件
node.js安装包34.01M1671人在用 node.js安装包是针对64位的windows系统而开发的工具,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。并且node.js的包管理器npm,是全球最大的开源库生态系
查看
sun java虚拟机(jvm)14.2M1725人在用 JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统
查看
java web开发实战1200例第i卷150.03M630人在用java web开发实战1200例是一本专业介绍java开发的实例图书,由卢瀚、王春斌等编著,全书包括第i卷、第ii卷共计1200个例子,本书是第i卷,拥有600个编程实例,并集练习、速查、应用于一体,更拥有500余经验技巧,解惑、拓展、总结全面透析,让
查看热门标签
网友评论0人参与,0条评论
最新排行
SCM Manager客户端(源代码管理服务器)110.62Mv3.12.2 SCM Manager官方版是一款专业的源代码管理服务器,该软件基于Java构建,支持跨平台,是您对源代码管理的最佳帮手,同时还提供了命令行供安装服务、卸载和重启服务,其初始化脚本供自动初始化相关的环境变量,无需手动配置,从web界面即可进行配置,
查看
JetBrains DotMemory 2026官方版182.97Mv2026.2.2.NET内存分析器,支持 Visual Studio 2022、2019、2017、2015 和 2013。
查看
PostScript官方版271Kv5.2 PostScript官方版是一款非常强大的编程语言,直译为后处理脚本,学名为页面描述语言。主要用意是为以相对设备独立的方式描述影像提供一种方便的语言。该设备相对独立是指不以某种特定设备特性作参照,来描述影像(比如印表机的解析度),这样同一种描述不需
查看