北京时间3月22日消息,甲骨文公司正式发布Java 20,这是备受欢迎的编程语言和开发平台推出的新版本。Java 20 (Oracle JDK 20) 在性能、稳定性和安全性方面进行了数千种改进,包括进一步优化平台的增强功能,以帮助开发人员提高工作效率,推动企业创新和发展。甲骨文将在Java Developer Day期间的Oracle DevLive Level Up活动上隆重介绍Java 20的新功能。该活动将于2023年3月20日至23日在美国加利福尼亚州红木岸区以及线上同步举办。
全新的Java版本提供7个JDK增强建议,帮助开发人员提高工作效率,优化Java语言并提升平台的性能、稳定性和安全性
甲骨文公司Java平台开发高级副总裁兼OpenJDK Governing Board主席Georges Saab表示:“在过去超过25年的时间里,Java致力于赋能开发人员设计和构建新一代强大、可扩展且安全的应用。Java 20创新的增强功能反映了全球Java社区对整个Java存在期间的愿景和所做出的宝贵努力。在甲骨文公司持续提供的Oracle Java技术和社区管理的支持下,Java能够真正成为一个帮助开发人员提高工作效率的现代语言和平台。”
全新版本的Java开发工具包 (JDK) 提供7个JDK增强建议 (JEPs)的更新和改进。大部分更新内容是为了改进早期版本所推出的功能。
JDK 20将提供来自OpenJDK Project Amber的语言改进(记录模式和 switch 匹配模式);支持在OpenJDK Project Panama中Java Virtual Machine (JVM) 和原生代码(外部函数和内存API以及向量API)互连的增强功能;以及有关Project Loom(作用域值、虚拟线程和结构化并发)的特性,这将大大减少在Java中编写、维护和观测高吞吐量并发应用的工作量。
标普全球市场财智 (S&P Global Market Intelligence)高级研究分析师Jay Lyman表示:“今天,随着企业所面临的压力越来越大,他们需要尽可能明智、高效地使用资源,因此开发人员不仅要寻找简化应用开发的工具,同时还要帮助企业确保IT安全并实现合规目标。数字化转型领跑者表示,他们更专注于缩短上市时间和提升敏捷性,这些目标可通过采用更好的工具来加速应用开发计划。”
通过可预测的发布计划,甲骨文公司每六个月发布一次新的Java功能,以持续不断地进行创新,以及性能、稳定性和安全性改进,从而让Java在各种规模的组织和行业中更加普及。
Java 20提供的重要更新包括:
语言更新和改进
· JEP 432:记录模式(第二预览版)— 支持用户嵌套记录模式和类型模式,以创建强大、声明性且可组合的数据导航和处理形式,从而增强 Java 语言。这有助于开发人员扩展模式匹配,以实现更复杂和可定制的数据查询,从而提高工作效率。
· JEP 433:Switch模式匹配(第四预览版)— 通过将模式匹配扩展到switch,可以针对多个模式测试表达式,每个模式都有特定的操作,让用户可以安全、简洁地表达面向数据的复杂查询。增强switch表达式和语句的表达性、适用性有助于提高开发人员的工作效率。
Project Loom预览版/孵化器功能
· JEP 429:作用域值(孵化器) — 支持在线程内和跨线程共享不可变数据,这些数据优先于线程局部变量,尤其是在使用大量虚拟线程时。这可提高易用性、性能、稳定性和安全性。
· JEP 436:虚拟线程(第二预览版)— 通过向Java平台引入轻量级虚拟线程,显著减少编写、维护和观察高吞吐量并发应用的工作量。虚拟线程让开发人员可以轻松使用现有的JDK工具和技术,对并发应用进行故障排除、调试和分析,进而加快应用开发速度。
· JEP 437:结构化并发(二次孵化阶段)— 通过将运行于不同线程中的多个任务视为一个工作单元,简化多线程编程。这可帮助开发团队简化错误处理和取消工作,并提高可靠性和可观测性。
Project Panama预览版功能
· JEP 434:外部函数和内存 API(第二预览版)— Java 程序可以更容易地与 Java 运行时之外的代码和数据进行互操作。通过有效调用外部函数(即 Java Virtual Machine [JVM] 之外的代码),以及安全地访问外部内存(即不受 JVM 管理的内存),该特性支持 Java 程序无需 Java Native Interface 即可调用本地库和处理原生数据,从而提高易用性、性能、灵活性和安全性。
· JEP 438:矢量API(五次孵化阶段)— 允许以一种在运行时,可靠地编译为支持的CPU架构上的向量指令方式表达向量计算,从而实现优于等效标量计算的性能。
Java 20是甲骨文公司工程师与全球Java开发人员社区成员通过OpenJDK社区和Java Community Process (JCP) 共同合作的成果。Java 20除了推出了新的增强功能,也获得Java Management Service的支持,这是一项新的Oracle云基础设施远程软件服务(Oracle Cloud Infrastructure, OCI)原生服务,可帮助管理本地部署或任何云端的Java运行时和应用程序。
支持Java客户和全球生态系统
Oracle Java Universal SE Subscription是一种按量计费产品,为客户提供出色的支持,包括对整个Java产品组合的分类支持, GraalVM Enterprise授权、Java SE Subscription Enterprise Performance Pack、Java Management Service增强功能以及按业务计划进行升级的灵活性。这有助于IT组织管理复杂性、控制成本并降低安全风险。此外,Oracle Java SE、GraalVM Enterprise以及Java SE Subscription Enterprise Performance Pack通过OCI免费为客户提供服务,助力开发人员在Oracle云技术上构建和部署速度更快、更出色且经济实惠的应用。