一、引言
2023年9月19日,Oracle公司正式发布了JDK 21,这是按照六个月发布周期准时交付的第12个功能版本。
这种可预测性让开发者能够轻松地管理他们对创新的采用,感谢稳定的改进流。JDK 21不仅包含了数千个性能、稳定性和安全性更新,还提供了几十个新功能和增强,其中15个增强足够重要,值得拥有自己的JDK增强提案—JEP,涵盖了六个预览功能和一个孵化器功能。
图表显示自Java 8以来每个版本的功能数量 Java的性能、稳定性和安全性的提升,使其继续成为世界上最受欢迎的编程语言。
此外,Oracle将为Java 21提供至少八年的长期支持。这种延长的支持期限让组织能够以最小的维护成本,让应用程序更长时间地保持在生产环境中,并且可以按照他们自己的节奏进行迁移。根据客户反馈和Java生态系统中的使用情况,Oracle还宣布将Java 11的长期支持延长至至少2032年1月,从Oracle那里获得至少八年以上的支持和更新。
与以前的版本一样,Java 21由Oracle与OpenJDK 社区中许多个人和组织的贡献一起构建。Java在已修复的24,196个JIRA问题中,有17,288个由Oracle工作人员完成,而6,908个由其他组织工作人员或个人开发者贡献。通过查看问题并从受让人那里收集组织数据,得到以下图表,显示了在Java中赞助贡献开发的组织:
图表显示每个组织的修复数量 在Java 21中,标记为已修复的2,585个JIRA问题中,有1,868个由Oracle完成,而717个由Java社区其他成员贡献。Oracle感谢在Amazon、ARM、Azul、Google、Huawei、IBM、Intel、ISCAS、Red Hat、Rivos、SAP和Tencent等组织工作的开发者的显著贡献。我们也感谢来自Bellsoft、Loongson等较小组织以及独立开发者的贡献,他们共同贡献了Java 21中8%的修复。
此外,通过OpenJDK质量外展计划,我们还要感谢以下提供了优秀反馈的FOSS项目,他们测试了Java 21早期访问版本,帮助提高了发布质量:
- Apache Commons
- Apache ZooKeeper
- AssertJ
- BNYM Code Katas
- JUnit5
- Karate
- MyBatis
二、新特性
Java 21 是 Java 平台的 12 个功能版本之一,于 2023 年 9 月 19 日发布。该版本包含了数千项性能、稳定性和安全更新,以及 15 项重大的新特性和增强。
以下是 Java 21 的新功能和增强:
- Project Amber 项目的六个预览功能:
-
- JEP 430:String Templates(字符串模板):允许开发人员在 Java 代码中使用模板来生成字符串,从而简化字符串的编写和维护。
- JEP 440:Record Patterns(记录模式):允许开发人员使用模式来解构记录类的实例,从而简化数据查询。
- JEP 441:Pattern Matching for switch(switch 中的模式匹配):允许开发人员在 switch 语句中使用模式匹配,从而简化复杂的数据查询。
- JEP 443:Unnamed Patterns and Variables(匿名模式和变量):允许开发人员使用匿名模式和变量,从而简化代码的编写和维护。
- JEP 445:Unnamed Classes and Instance Main Methods(匿名类和实例主方法):允许开发人员使用匿名类和实例主方法来简化简单程序的编写。
- Project Loom 项目的两个预览功能:
-
- JEP 444:Virtual Threads(虚拟线程):允许开发人员使用虚拟线程来编写高性能的并发应用程序。
- JEP 446:Scoped Values(作用域值):允许开发人员在线程之间共享不可变数据。
- 其他新特性和增强:
-
- 改进了 Java 代码的性能、稳定性和安全性。
- 新增了对新的硬件平台的支持。
- 新增了对新的 API 和工具的支持。
以下是 Java 21 中的一些值得关注的新特性和增强:
- String Templates 功能简化了字符串的编写和维护,使开发人员可以更轻松地在 Java 代码中生成复杂的字符串。
- Record Patterns 功能简化了数据查询,使开发人员可以更轻松地从记录类中提取数据。
- Pattern Matching for switch 功能简化了复杂的数据查询,使开发人员可以更轻松地从 switch 语句中提取数据。
- Virtual Threads 功能提高了并发应用程序的性能,使开发人员可以更轻松地编写高性能的并发应用程序。
- Scoped Values 功能简化了线程间数据共享,使开发人员可以更轻松地在线程之间共享不可变数据。
官网介绍地址:The arrival of java 21! – Inside.java
Project Amber
JEP 430: String Templates (Preview):字符串模板
JEP 440: Record Patterns:
JEP 441: Pattern Matching for switch:交换机的模式匹配
JEP 443: Unnamed Patterns and Variables (Preview)
JEP 445: Unnamed Classes and Instance Main Methods (Preview)
Project Loom
JEP 444: Virtual Threads:虚拟线程
JEP 446: Scoped Values (Preview)
JEP 453: Structured Concurrency (Preview)
Project Panama
JEP 442: Foreign Function & Memory API (外部函数和内存API)
JEP 448: Vector API
Core Libraries(核心库)
JEP 431: Sequenced Collections
Performance Updates(性能更新)
JEP 439: Generational ZGC
JEP 452: Key Encapsulation Mechanism API
三、吃瓜群众
他强由他强,清风拂山冈;
他横由他横,明月照大江;
他发任他发,我用Java8。
----总体来总Java也自带支持协程了。
如果文章对你有帮助,欢迎关注+点赞!!!
一、引言
2023年9月19日,Oracle公司正式发布了JDK 21,这是按照六个月发布周期准时交付的第12个功能版本。
这种可预测性让开发者能够轻松地管理他们对创新的采用,感谢稳定的改进流。JDK 21不仅包含了数千个性能、稳定性和安全性更新,还提供了几十个新功能和增强,其中15个增强足够重要,值得拥有自己的JDK增强提案—JEP,涵盖了六个预览功能和一个孵化器功能。
图表显示自Java 8以来每个版本的功能数量 Java的性能、稳定性和安全性的提升,使其继续成为世界上最受欢迎的编程语言。
此外,Oracle将为Java 21提供至少八年的长期支持。这种延长的支持期限让组织能够以最小的维护成本,让应用程序更长时间地保持在生产环境中,并且可以按照他们自己的节奏进行迁移。根据客户反馈和Java生态系统中的使用情况,Oracle还宣布将Java 11的长期支持延长至至少2032年1月,从Oracle那里获得至少八年以上的支持和更新。
与以前的版本一样,Java 21由Oracle与OpenJDK 社区中许多个人和组织的贡献一起构建。Java在已修复的24,196个JIRA问题中,有17,288个由Oracle工作人员完成,而6,908个由其他组织工作人员或个人开发者贡献。通过查看问题并从受让人那里收集组织数据,得到以下图表,显示了在Java中赞助贡献开发的组织:
图表显示每个组织的修复数量 在Java 21中,标记为已修复的2,585个JIRA问题中,有1,868个由Oracle完成,而717个由Java社区其他成员贡献。Oracle感谢在Amazon、ARM、Azul、Google、Huawei、IBM、Intel、ISCAS、Red Hat、Rivos、SAP和Tencent等组织工作的开发者的显著贡献。我们也感谢来自Bellsoft、Loongson等较小组织以及独立开发者的贡献,他们共同贡献了Java 21中8%的修复。
此外,通过OpenJDK质量外展计划,我们还要感谢以下提供了优秀反馈的FOSS项目,他们测试了Java 21早期访问版本,帮助提高了发布质量:
- Apache Commons
- Apache ZooKeeper
- AssertJ
- BNYM Code Katas
- JUnit5
- Karate
- MyBatis
二、新特性
Java 21 是 Java 平台的 12 个功能版本之一,于 2023 年 9 月 19 日发布。该版本包含了数千项性能、稳定性和安全更新,以及 15 项重大的新特性和增强。
以下是 Java 21 的新功能和增强:
- Project Amber 项目的六个预览功能:
-
- JEP 430:String Templates(字符串模板):允许开发人员在 Java 代码中使用模板来生成字符串,从而简化字符串的编写和维护。
- JEP 440:Record Patterns(记录模式):允许开发人员使用模式来解构记录类的实例,从而简化数据查询。
- JEP 441:Pattern Matching for switch(switch 中的模式匹配):允许开发人员在 switch 语句中使用模式匹配,从而简化复杂的数据查询。
- JEP 443:Unnamed Patterns and Variables(匿名模式和变量):允许开发人员使用匿名模式和变量,从而简化代码的编写和维护。
- JEP 445:Unnamed Classes and Instance Main Methods(匿名类和实例主方法):允许开发人员使用匿名类和实例主方法来简化简单程序的编写。
- Project Loom 项目的两个预览功能:
-
- JEP 444:Virtual Threads(虚拟线程):允许开发人员使用虚拟线程来编写高性能的并发应用程序。
- JEP 446:Scoped Values(作用域值):允许开发人员在线程之间共享不可变数据。
- 其他新特性和增强:
-
- 改进了 Java 代码的性能、稳定性和安全性。
- 新增了对新的硬件平台的支持。
- 新增了对新的 API 和工具的支持。
以下是 Java 21 中的一些值得关注的新特性和增强:
- String Templates 功能简化了字符串的编写和维护,使开发人员可以更轻松地在 Java 代码中生成复杂的字符串。
- Record Patterns 功能简化了数据查询,使开发人员可以更轻松地从记录类中提取数据。
- Pattern Matching for switch 功能简化了复杂的数据查询,使开发人员可以更轻松地从 switch 语句中提取数据。
- Virtual Threads 功能提高了并发应用程序的性能,使开发人员可以更轻松地编写高性能的并发应用程序。
- Scoped Values 功能简化了线程间数据共享,使开发人员可以更轻松地在线程之间共享不可变数据。
官网介绍地址:The arrival of java 21! – Inside.java
Project Amber
JEP 430: String Templates (Preview):字符串模板
JEP 440: Record Patterns:
JEP 441: Pattern Matching for switch:交换机的模式匹配
JEP 443: Unnamed Patterns and Variables (Preview)
JEP 445: Unnamed Classes and Instance Main Methods (Preview)
Project Loom
JEP 444: Virtual Threads:虚拟线程
JEP 446: Scoped Values (Preview)
JEP 453: Structured Concurrency (Preview)
Project Panama
JEP 442: Foreign Function & Memory API (外部函数和内存API)
JEP 448: Vector API
Core Libraries(核心库)
JEP 431: Sequenced Collections
Performance Updates(性能更新)
JEP 439: Generational ZGC
JEP 452: Key Encapsulation Mechanism API
三、吃瓜群众
他强由他强,清风拂山冈;
他横由他横,明月照大江;
他发任他发,我用Java8。
----总体来总Java也自带支持协程了。
如果文章对你有帮助,欢迎关注+点赞!!!