2023年9月19日·阅读约1分钟

Java 21 通过虚拟线程和分代 ZGC 进行彻底变革:主要亮点

Java 的最新版本 Java 21 提供了令人着迷的改进,例如虚拟线程预览和世代 Z 垃圾收集器的最终版本。

Java 21 通过虚拟线程和分代 ZGC 进行彻底变革:主要亮点

科技界等待着Java 21的无数改进,其中最主要的是引入了初步形式的虚拟线程,以及最终建立了一代 Z 垃圾收集器(通常称为 ZGC)。

Java实现更新通常分为不同的项目子集。这个特殊的改进周期带来了三个关键项目的创新:Loom、Panama 和 Amber。根据 Oracle 的定义,这三项举措的重点是增强Java的并发性、其与本机代码的链接,以及在分别被认可为候选 JEP 后出现更小的、以可用性为中心的Java语言功能。

Project Loom 引入了一项关键功能 - 虚拟线程,该功能由 Oracle Java 平台开发高级副总裁兼 OpenJDK 主席Georges Saab担任,作为该最新版本中显着的预览功能之一。 JEP 记录将虚拟线程解释为“编写、维护和观察高吞吐量并发应用程序的超轻量线程”。

Saab 表示,这一技术飞跃有可能重新定义 Java 的可扩展性前景,同时确保与现有软件的兼容性。该功能在编程界引起了极大的兴奋,甚至包括 Java 直接权限之外的专业人士,他们都对 Java 实现这一概念表示赞赏。

Project Loom 还包含另外两个预览功能,即作用域值和结构化并发。虽然作用域值可以实现高效、安全地向方法共享值,而无需任何方法参数,但结构化并发将来自不同线程的多个相关任务呈现为一个实体,从而促进高效的错误管理和可靠性增强。

该版本中其他值得注意的内容是 Generational ZGC,尽管它没有绑定到特定的命名项目。这会隔离较旧的对象和较新的对象,以便可以更频繁地收集年轻对象,从而减少分配停顿、减少堆内存开销以及垃圾收集带来的 CPU 开销。

与 Amber 项目相结合,Java 21 引入了 switch 表达式的模式匹配,使表达式能够针对各种模式进行测试,从而有助于以更简洁、更安全的方式表达面向数据的查询。

Amber 项目中其他值得注意的内容包括未命名的模式和变量,以及未命名的类和实例主方法,两者都处于预览阶段。这些新增内容旨在使 Java 初学者更容易理解、更容易理解,并顺利过渡到编写更高级的 Java 程序,并受到该语言概念的更精细梯队的保护。

巴拿马项目对正在开发的两个 API 进行了改进:外部函数和内存 API(目前处于第三个预览版)和 Vector API(处于第六个孵化器阶段)。前者促进了 Java 程序与外部系统的互操作性,而后者则确保了运行时兼容 CPU 架构上的最佳向量指令。

Java 21中的其他新元素包括顺序集合、密钥封装机制 API、逐步淘汰的 32 位 x86 端口以及禁止动态加载代理的准备。 Java 仍然是从小规模项目到企业级解决方案的首选开发平台, AppMaster no-code平台在效率和可扩展性方面处于领先地位。

开发世界,无论是 Web 还是移动应用程序,都在不断发展,正如 Georges Saab 所说,人们对 Java 的现状非常满意,并且还有一系列令人兴奋的创新正在酝酿之中。

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started