甲骨文揭幕 最近 Java SE 22新版本发布,经过六个月的开发后呈现,并且是 归类为常规支持版本 并将继续接收更新直到下一个版本。
该 当前的 LTS 版本是 Java SE 21 和 Java SE 17, 分别将在 2031 年和 2029 年之前获得更新(一般可在 2028 年和 2026 年之前使用),并且对去年 11 月结束的 Java SE 2032 LTS 版本的公共支持已延长至 8 年,而对 LTS 版本 Java SE 2030 的扩展支持将在持续到XNUMX年。
Java SE 22的主要新功能
在这个新版本的 Java SE 22 中, 引入“范围值”的第二个预览实现, 这有利于线程之间不可变数据的高效交换以及它们之间值的继承。
此功能是 旨在在子线程之间共享数据时更加高效, 特别是在处理大量虚拟线程时。作用域值旨在替代线程局部变量,在具有数千或数百万个线程的场景中特别有效。作用域值和线程局部变量的主要区别在于它们的不可变性:作用域值被写入一次,以后不能修改。此外,它们仅在定义它们的线程执行期间保持可用。
Java SE 22 中另一个突出的变化是 G1 垃圾收集器现在包括对区域固定的支持, 它允许您临时固定对象在内存中的位置。此功能 阻止垃圾收集器移动这些对象, 允许对它们的引用在 Java 和本机代码之间安全地传递。当使用本机代码运行关键的 Java 本机接口 (JNI) 部分时,区域固定有助于减少延迟并避免禁用垃圾收集。
除了它,还 初步功能已经实现 为 允许构造函数在调用 super(...) 之前指定表达式。 这用于从继承类构造函数显式调用父类的构造函数,只要这些表达式不引用构造函数创建的实例。
另外, 实况调查团 API (外来功能与记忆) 已经稳定 现在,通过调用外部库中的函数并访问 JVM 外部的内存,可以实现 Java 程序与外部代码和数据的交互。这是无需借助 JNI(Java 本机接口)即可实现的。
其他变化 从这个新版本中脱颖而出:
- 在处理大量对象时,并行垃圾收集器的性能得到了提高。在一些具有相当大的对象集的测试中,此优化将开始搜索对象之前的等待时间减少了 20%。
- 现在可以在调用时使用“_”字符来指定未使用但必需的变量和模式。通过避免命名不必要的变量,这简化了代码的编写。
- 已经提出了一个初步的 API 来解析、生成和转换 Java 类文件。
- 现在可以运行 Java 程序,而无需单独编译它们或设置构建系统。这简化了代码分布在多个文件中的程序的执行。
- 添加了字符串模板的第二个实现,允许文本以更高效和可读的方式与表达式和计算变量组合。
- 已经提出了用于矢量计算的 Vector API 和用于结构化并发的 API 的初步实现,以简化多线程应用程序的开发。
最后,如果你是 有兴趣了解更多关于它的信息, 您可以在中查看详细信息 以下链接。
下载 Java SE 22
对于那些有兴趣安装新版本 Java SE 22 的人,您应该知道编译(JDK、JRE 和 Server JRE)已经准备好 Linux、Windows 和 macOS。