Oracle 正式发布 Java 22
Oracle 正式发布Java 22,这是备受欢迎的编程语言和开发平台推出的全新版本。
Java 22 (Oracle JDK 22) 在性能、稳定性和安全性方面进行了数千种改进,包括对Java 语言、其API 和性能,以及 Java 开发工具包 (JDK) 中工具的增强功能,以帮助开发人员提高工作效率,推动企业加速创新和发展。
全新版本的 JDK 更新和改进了12 项 JDK 增强建议 (JEPs)。
JDK 22 将提供 OpenJDK Project Amber 的语言改进 (Statements before super[…]、Unnamed Variables & Patterns、String Templates 以及 Implicitly Declared Classes 和 Instance Main Methods);Project Panama 的改进 (Foreign Function 以及 Memory API 和 Vector API);有关 Project Loom 的特性 (Structured Concurrency 和 Scoped Values);核心库和工具功能 (Class-File API、Launch Multi-File Source-Code Programs、Stream Gatherers) 以及性能更新 (Region Pinning for G1)。
Java 22 提供的重要更新包括:
Project Amber 的特性
- JEP 447
Statements before super(…)— 支持开发人员自由地表达构造器的行为。对于未引用正在创建的实例的语句,该语句也可以在调用显式构造器之前出现,让开发人员可以更自然地放置逻辑。
该逻辑需要纳入辅助静态方法、辅助中间构造器或构造器参数中。该特性还将延续现有保证,即允许构造器在类实例化期间按自上而下的顺序运行,以帮助确保子类构造器中的代码不会干扰超类实例化。
此外,此特性不需要对Java Virtual Machine(JVM) 进行任何更改,并且仅依赖于 JVM 的当前能力来验证和执行在构造器中显式调用之前显示的代码。
- JEP 456
Unnamed Variables & Patterns— 通过未命名的变量和模式来增强 Java 语言。在必须使用变量声明或嵌套模式,但又从未使用过的情况下,开发人员可以使用这些变量和模式来提高生产力。
这种方法可以减少出错的机会,提高记录模式的可读性,并提高代码的可维护性。
- JEP 459
String Templates(第二预览版)— 使包含运行时计算值的字符串更容易表达,简化 Java 程序的开发工作,同时提高将用户提供的值编写成字符串,并将字符串传递给其他系统的程序的安全性。
此外,该特性还可提高参杂了表达式和文本的可读性,创建通过文字文本和嵌入表达式计算的非字符串值,而无需通过中间字符串表示形式传递。
- JEP 463
Implicitly Declared Classes and Instance Main Methods(第二预览版)— 通过 Java 编程入门教程,学生无需了解为大型程序而设计的语言功能,即可顺利编写第一个程序,加快了上手速度。
通过此特性,教育工作者可以循序渐进地介绍概念,学生也可以编写简化的单类程序声明,并随着个人技能的提升,无缝扩展程序并使用更高级的功能。
Project Loom 的特性
- JEP 462
Structured Concurrency(第二预览版)— 通过引入用于结构化并发的 API,帮助开发人员简化错误处理和取消,并提高可观测性,进而鼓励更多人选择并发编程。
该编程风格可以消除因取消和关闭而产生的常见风险,例如线程泄漏和取消延迟,以此提高并发代码的可观测性。
- JEP 464
Scoped Values(第二预览版)— 支持开发人员在线程内和线程之间共享不可变数据,从而提高项目的易用性、可理解性、性能和稳健性。
Project Panama 的特性
- JEP 454
Foreign Function & Memory API— 新推出的 API 使 Java 程序更容易与 Java 运行时之外的代码和数据互操作,从而帮助开发人员提高易用性、灵活性、安全性和性能。
通过有效调用外部函数(即 Java Virtual Machine (JVM) 之外的代码),以及安全地访问外部内存(即不受 JVM 管理的内存),这个新的 API 支持 Java 程序在无需 Java Native Interface 的情况下调用本地库和处理原生数据。
- JEP 460
Vector API (七次孵化阶段)— 引入 API来表达向量计算,在运行时可靠地编译为支持的 CPU 架构上的向量指令,使开发人员获得优于等效标量计算的性能。
核心库和工具功能
- JEP 457
Class-File API(预览版)— 通过提供用于解析、生成和转换 Java 类文件的标准 API,帮助开发人员提高工作效率。
- JEP 458
Launch Multi-File Source-Code Programs— 支持开发人员通过增强 Java 应用启动器,选择是否以及何时需要配置构建工具,从而运行作为多个 Java 源代码文件提供的程序。
- JEP 461
Stream Gatherers(预览版)— 通过增强 Stream API 来支持自定义中间操作,让流管道能以比现有内置中间操作更轻松的方式转换数据,从而帮助开发人员提高工作效率。
此特性能够使流管道更灵活、更具表达力,允许自定义中间操作处理大小不限的流,帮助开发人员高效读取、写入和维护 Java 代码。
性能更新
- JEP 423
Region Pinning for G1— 在原本需要暂停收集器的本机库调用期间,允许进行某些资源回收,有助于减少延迟。其中的原理是,在本机库调用期间,对需要禁止的对象以及仅“固定”包含这些对象的区域进行跟踪。
如此一来,即使是在原本会禁止本机库调用的期间,未固定的区域也可以继续正常进行资源回收。
Java 22 是 Oracle 与全球 Java 开发人员社区成员通过 OpenJDK 社区 和 Java Community Process (JCP) 共同合作的成果。Java 22 除了推出了新的增强功能和特性,也获得 Java Management Service (JMS) 的支持,这是一项新的Oracle 云基础设施远程软件服务 (Oracle Cloud Infrastructure, OCI) 原生服务,提供统一的控制台和仪表盘,帮助企业管理本地或云端的 Java 运行时和应用。
IDC 软件开发研究副总裁 Arnal Dayaratna表示:
经过近三十年发展,Java 能够支持各种用例的复杂开发任务,这种能力让该平台变得十分重要。Java 的多功能性和全面的工具集使其能够大规模支持生产级关键任务应用的开发,因此成为了生成式 AI 等创新用例的关键支持技术。
甲骨文公司 Java 平台高级副总裁兼OpenJDK管理委员会主席 Georges Saab表示:
Java 22 新的增强功能让更多开发人员能够快速、轻松地构建和交付功能丰富、可扩展且安全的应用,从而帮助全球各地的组织发展业务。这些增强功能可以简化应用开发,扩大 Java 的覆盖范围,以供不同技术水平的开发人员访问,帮助组织和开发人员创建各种新的应用和服务。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GNOME 46“加德满都”正式发布
GNOME 46 已正式发布,代号 ‘Kathmandu’——以表彰 GNOME.Asia 2023 组织者所做的出色工作。 新版本主要变化包括使用 RDP 进行远程登录、可变刷新率 (VRR)、可访问性改进、增强的通知和设置、改进了全局搜索和其他增强功能的新文件应用程序,以及在 GNOME Circle 中添加的新应用程序。 四月份,Fedora 40 将率先预装 GNOME 46,大约一周后,Canonical 将发布带有 GNOME 46 的 Ubuntu 24.04 LTS。 GNOME 46 最明显的改进之一是在 GNOME 的在线账户功能中添加了 Microsoft OneDrive。该版本可以在"设置"中连接 Microsoft 365 账户,OneDrive 将显示在"文件"侧边栏中,可以在浏览本地文件和文件夹的同时浏览 OneDrive。 GNOME 46 中一些更深层次的变化包括降低了搜索的内存使用率、更好的屏幕录制性能、Image VIewer 更高效的资源处理以及 GNOME 终端应用程序的速度提升。 除了"文件"中的搜索改进外,文件传输对话框也在本次更新中得到...
- 下一篇
Linux Lab 发布 v1.3 正式版,完善 LoongArch 支持
简介 自去年 7 月份发布 Linux Lab v1.2 后,终于迎来了 v1.3 正式版,同时也迎来了 Cloud Lab v0.9 正式版,两者需同步升级配合使用。 发布仓库 Gitee: https://gitee.com/tinylab/linux-lab Github: https://github.com/tinyclub/linux-lab 用户手册 Linux Lab v1.3 中文手册 Linux Lab v1.3 英文手册 为方便大家开箱即用,泰晓 Linux 实验盘同步集成最新版 Linux Lab v1.3,当前版本实验盘默认集成了 arm/vexpress-a9, x86_64/pc 和 riscv64/virt 虚拟开发板,并内置了 Linux Lab v1.3 中文用户手册和 RISC-V Linux v0.2 实验手册。 更新情况 v1.3 升级部分内核到 v6.6,新增上游内核工具链支持,完善 riscv64 和 nolibc 开发支持,另有新增 2 款虚拟开发板:ppc64le/pseries 和 ppc64le/powernv。 v1.3 rc3 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker安装Oracle12C,快速搭建Oracle学习环境