Java_20
甲骨文发布了Java 20,包括七项重要的增强提案,提高了开发者的生产力,改进了Java语言性能、稳定性和安全性。这个版本引入了许多语言和功能改进,如记录模式、开关的模式匹配、范围值、虚拟线程和结构化并发等。此外,Java还得到了Oracle的支持,提供了管理Java运行时和应用程序的云基础架构服务。
# 背景
Oracle 发布了 Java 20。
新版本发布了七项 JDK 增强提案,以提高开发者的生产力,改进 Java 语言,并增强平台的性能、稳定性和安全性。
奥斯汀,得克萨斯州—2023 年 3 月 21 日
甲骨文今天宣布了 Java 20 (opens new window) 的可用性,这是世界上排名第一的编程语言和开发平台的最新版本。Java 20(Oracle JDK 20)提供了成千上万的性能、稳定性和安全性改进,包括可帮助开发人员提高生产力、推动创新和组织增长的平台增强功能。甲骨文正在 Java 开发者日活动中展示 Java 20 的最新功能,该活动于 3 月 20 日至 23 日在加利福尼亚州 Redwood Shores 和在线上举行,详情请见 Oracle DevLive Level Up (opens new window)。
"在过去的 25 年多里,Java 已经赋予开发人员设计和构建下一代强大、可扩展和安全应用程序的能力," 甲骨文(Oracle)的高级副总裁、Java 平台开发主席以及 OpenJDK 管理委员会主席 Georges Saab 表示。 "Java 20 中的创新增强反映了全球 Java 社区在 Java 存在期间所做出的愿景和宝贵努力。在甲骨文持续提供的 Java 技术领导力和社区监护支持下,Java 作为一种当代语言和平台,帮助开发人员提高生产力,从未如此相关。"
最新的 Java 开发工具包(JDK)通过七个 JDK 增强提案(JEPs)提供了更新和改进。大部分更新都是针对先前版本引入的功能的后续改进特性。
JDK 20 提供了来自 OpenJDK 项目 Amber 的语言改进(记录模式和开关的模式匹配);来自 OpenJDK 项目 Panama 的增强功能,以实现 Java 虚拟机(JVM)和本地代码的互联(外部函数和内存 API 以及向量 API);以及与 Project Loom 相关的特性(作用域值、虚拟线程和结构化并发),这将极大地简化编写、维护和观察高吞吐量并发应用程序的过程。
"如今,组织面临越来越大的压力,需要尽可能明智和高效地利用资源,这需要开发人员寻求能够简化应用程序开发并帮助确保其组织实现 IT 安全和合规目标的工具," S&P 全球市场情报的高级研究分析师杰伊·莱曼说道。"数字化转型的领导者表示,他们更加关注提高上市时间以及通过更好的工具获得的灵活性,这可以加速他们组织的应用程序开发计划。"
Oracle 通过可预测的发布计划每六个月发布新的 Java 特性版本。这一节奏提供了持续的创新,同时提供了对平台性能、稳定性和安全性的持续改进,有助于提高 Java 在各种规模的组织和行业中的普及程度。
# 新特性
Java 20 中最重要的更新包括:
语言更新和改进
- : 记录模式(第二预览版): 通过允许用户嵌套记录模式和类型模式,增强了 Java 语言,以创建一种强大、声明性和可组合的数据导航和处理形式。这有助于通过使模式匹配能够支持更复杂和可组合的数据查询来提高开发人员的生产力。
- : 开关的模式匹配(第四预览版): 通过将模式匹配扩展到开关,可以针对多种模式进行表达式测试,每种模式都有特定的操作,因此可以简洁而安全地表达复杂的面向数据的查询。扩展开关表达式和语句的表现力和适用性有助于提高开发人员的生产力。
项目织网预览/孵化器功能
- : 范围值(孵化器): 允许在线程内部和跨线程之间共享不可变数据,这比线程本地变量更受欢迎,特别是在使用大量虚拟线程时。这提高了易用性、可理解性、健壮性和性能。
- :虚拟线程(第二预览): 通过引入轻量级虚拟线程到 Java 平台,显著简化了编写、维护和观察高吞吐量、并发应用程序的过程。通过使用现有的 JDK 工具和技术,使开发人员能够轻松地排查、调试和分析并发应用程序,虚拟线程有助于加速应用程序开发。
- :结构化并发(第二孵化器): 通过将在不同线程中运行的多个任务视为一个工作单元,简化了多线程编程,帮助开发团队简化错误处理和取消操作,提高可靠性并增强可观察性。
Project Panama 预览功能
- : 外部函数与内存 API(第二预览版): 允许 Java 程序与 Java 运行时之外的代码和数据进行互操作。通过高效地调用外部函数(即 Java 虚拟机 [JVM] 之外的代码)以及安全地访问外部内存(即 JVM 未管理的内存),此功能使 Java 程序能够调用本地库并处理本地数据,而无需使用 Java 本机接口。这提高了易用性、性能和安全性。
- : 矢量 API(第五孵化器): 表达可靠地在支持的 CPU 架构上运行时编译为矢量指令的矢量计算。与等效的标量计算相比,这提高了性能。
Java 20 版本是由 Oracle 工程师与全球 Java 开发者社区的其他成员通过 OpenJDK (opens new window) 和 Java 社区流程(JCP)的广泛合作而产生的。除了新的增强功能外,Java 20 还受到 Java 管理服务 (opens new window)的支持 - 这是一个 Oracle 云基础架构 (opens new window)(OCI)本地服务 - 该服务提供一个单一的界面,帮助组织在本地或任何云上管理 Java 运行时和应用程序。
# 支持 Java 客户和全球生态系统
Oracle Java 通用 SE 订阅 (opens new window)是一种按需付费的服务,为客户提供最佳支持,包括为您的整个 Java 组合提供分级支持、享有 GraalVM 企业版、Java SE 订阅企业性能包的权益、访问 Java 管理服务的高级功能,以及根据业务需求自由升级的灵活性。这有助于 IT 组织管理复杂性、控制成本并降低安全风险。此外,Oracle Java SE、GraalVM Enterprise 和 Java SE 订阅企业性能包在 OCI 上免费提供,使开发人员能够构建和部署在 Oracle Cloud 上运行更快、更好、性价比无与伦比的应用程序。
了解更多关于 Java 及其全球生态系统,请访问:
- Dev.java: 学习 Java 的官方门户网站
- Inside.java: 来自 Oracle Java 团队成员的新闻和观点
- Java YouTube: 官方 Java YouTube 门户网站,提供 Java 学习视频
# 附加资源
- 下载 Oracle JDK 20 (opens new window)
- 阅读 Java 20 技术博客 (opens new window)
- 了解更多关于 Java 管理服务 (opens new window)
- 了解更多关于 Oracle Java SE 通用订阅 (opens new window)
- 注册 (opens new window) 参加 Oracle DevLive Level Up 活动
^[1]^ 数据来源:S&P 全球市场情报,企业之声:2022 年 DevOps、工作负载和关键项目研究,“问:通过采用 DevOps 及其持续集成/持续交付(CI/CD)工具和实践,您的组织试图实现以下哪些结果?” 基础:所有受访者(n=498)
# 联系信息
# 德鲁·史密斯
- 甲骨文(Oracle)
- drew.j.smith@oracle.com
- 415.336.1103
# 关于 Oracle
Oracle 在 Oracle Cloud 中提供集成套件的应用程序以及安全的自主基础设施。有关 Oracle(NYSE:ORCL)的更多信息,请访问我们的网站 www.oracle.com (opens new window)。
# 商标
Oracle、Java、MySQL 和 NetSuite 是 Oracle 公司的注册商标。NetSuite 是第一家云计算公司,开启了云计算新时代。
# 参考
Oracle Releases Java 20 (opens new window)