网站首页 > 企业新品 >
Oracle正式发布Java 23
发布时间:2024-09-23 11:24:08 · 赵法彬

Oracle近日正式发布 Java 23,这是备受欢迎的编程语言和开发平台新推出的版本。Java 23 (Oracle JDK 23) 进行了数千种改进,帮助开发人员提高工作效率并推动创新,而在性能、稳定性和安全性方面的增强则可以帮助企业加速增长。


 QQ截图20240923111007.jpg


IDC 软件开发研究副总裁 Arnal Dayaratna 表示:“Java 不断地发展,以支持企业日益多样化的现代应用开发需求。新版本支持开发人员扩展他们的工具集并提高工作效率,帮助他们构建和交付利用 AI 及其他突破性技术的应用。Java 将会每六个月推出创新功能,持续帮助开发团队为企业创造巨大价值。”  

 

除了为开发人员提供的新增强功能和特性以外,Java 23 还为他们的企业提供了巨大的价值。例如,Java 23 获得近期正式发布的 Java Management Service (JMS) 9.0 的支持,这是一项新的 Oracle Cloud Infrastructure (OCI) 原生服务,提供统一的控制台和仪表盘,可帮助企业管理任何本地或云端的 Java 运行时和应用。此外,JMS 9.0 还提供了许多可用性改进,而 Oracle JDK 23 则增加了 Graal 编译器,这是一种使用 Java 编写的动态即时 (JIT) 编译器,可将字节码转换为优化的机器码,从而提供了更多优化和提高峰值性能的选项。 


甲骨文公司 Java 平台高级副总裁兼 OpenJDK Governing Board 主席 Georges Saab 表示:“Java 23 中的新特性可帮助不同专业知识水平的开发人员提高工作效率并简化高性能、安全且可扩展的应用开发。Java 23 提供了各种新特性和工具,旨在帮助开发人员更快、更高效地构建和交付应用,进而帮助开发团队及相关企业推动创新和业务增长。”  

 

Java 23 对 Java 语言、运行时、库以及 Java Development Kit (JDK) 包含的工具进行了改进和增强。Java 23 提供的重要更新包括:


通过 Project Amber 提供的语言特性

• JEP 455:Primitive Types in Patterns, instanceof, and switch(预览版)— 通过使语言更加统一且更具表达能力,帮助提高 Java 编程的工作效率。通过消除与开发人员在使用模式匹配、instanceof 和 switch 时遇到的基元类型限制,该  JEP 支持所有模式情景的基元类型模式,有助于增强模式匹配,并扩展 instanceof 和 switch,使其能够与所有基元类型一起使用。

• JEP 476:Module Import Declarations(预览版)— 开发人员可以轻松快速地导入由模块导出的所有程序包,无需将导入代码放到模块中,从而提高工作效率。这简化了所有开发人员对模块化库的重用,让初学者能够更轻松地使用第三方库和基本 Java 类,无需了解它们在程序包层次结构中的位置。 

• JEP 477:Implicitly Declared Classes and Instance Main Methods(第三预览版)— 通过 Java 编程入门教程,学生无需了解为大型程序而设计的语言功能,即可顺利编写第一个程序,加快了上手速度和技能培养速度。有鉴于此,教育工作者和导师可以循序渐进地介绍概念,学生也可以编写简化的单类程序声明,并随着个人技能的提升,无缝扩展程序并使用更高级的功能。此外,经验丰富的 Java 开发人员也可以以简洁的方式编写小程序,无需使用为大型项目设计的工具。

• JEP 482:Flexible Constructor Bodies(第二预览版)— 允许语句在显式构造器调用之前出现,例如 super(..) 或 this(..),从而帮助开发人员提高工作效率。这些语句无法引用正在构建的实例,但在调用另一个构造器之前可以对其字段进行初始化,这使得方法被覆盖时,类会更加可靠。这不仅让开发人员有更大的自由来表达构造函数的行为,还能够延续现有保证,即允许构造器在类实例化期间按自上而下的顺序运行。


• JEP 466:Class-File API(第二预览版)— 通过提供用于解析、生成和转换 Java 类文件的标准 API,帮助开发人员提高工作效率。

• JEP 469:Vector API (八次孵化阶段)— 新推出的 API 允许以一种在运行时,可靠地编译为支持的 CPU 架构上的向量指令方式表达向量计算,帮助开发人员提高生产力。因此,开发人员可以实现优于等效标量计算的表现。

• JEP 473:Stream Gatherers(第二预览版)— 通过增强 Stream API 来支持自定义中间操作,让流管道以现有内置中间操作无法轻松实现的方式转换数据,从而帮助开发人员提高工作效率。此特性能够使流管道更灵活、更具表达力,允许自定义中间操作处理大小不限的流,帮助开发人员高效读取、写入和维护 Java 代码。 

• JEP 480:Structured Concurrency(第三预览版)— 通过面向结构化并发的新 API 简化并发编程,帮助开发人员提高多线程代码的可维护性、可靠性和可观察性。通过将在不同线程中运行的相关任务组合并为单个工作单元,结构化并发可以消除因取消和关闭而产生的常见风险,例如线程泄漏和取消延迟。

• JEP 481:Scoped Values(第三预览版)— 支持开发人员在线程内和线程之间共享不可变数据,从而提高项目的易用性、可理解性、性能和稳健性。


性能和运行时更新

• JEP 474:ZGC:Generational Mode by Default — 通过将 Z Garbage Collector (ZGC) 的默认模式切换到层代模式,帮助开发人员提高效率,从而降低支持两种不同模式所需的资源和维护成本。


工具

• JEP 467:Markdown Documentation Comments — 通过启用 Javadoc 文档注释以 Markdown 编写而不是仅以 HTML 和 Javadoc @-tags 编写,帮助开发人员提高效率和生产力。通过在文档注释中使用 Markdown 语法以及 HTML 元素和 JavaDoc 标记,开发人员可以更轻松地以源形式编写和读取 API 文档注释,而不会对现有文档注释的解释产生不利影响。


管理职责

• JEP 471:Deprecate the Memory-Access Methods in sun.misc.unsafe for Removal — 通过帮助开发人员了解其应用何时直接或间接依赖于 sun.misc.Unsafe 中的内存访问方法,该方法计划在将来的版本中删除,从而为开发人员提供了简化的工具集。


Java 23 的特性是 Oracle 与全球 Java 开发人员社区成员通过 OpenJDK 社区 和 Java Community Process (JCP) 共同密切合作的成果。有关 Java 23 特性的更多信息,请阅读 Java 23 技术博客文章。


云端创新赋能全球 Java 社区

部署在 OCI 中的 Java 可提供出色的性能、效率、成本节省和创新,而 OCI是支持 Java 23 的超大规模云技术平台。通过在 OCI 上免费提供 Oracle Java SE、Oracle GraalVM 和 Java SE Subscription Enterprise Performance Pack,Java 23 助力开发人员构建和部署速度更快、更出色且经过优化的应用。


Oracle Java Universal SE Subscription 可为客户提供优质的支持服务。该产品提供对整个 Java 产品组合的支持、Oracle GraalVM 授权、Java SE Subscription Enterprise Performance Pack、JMS 增强功能以及按业务计划进行升级的灵活性。这有助于 IT 组织管理复杂性、降低安全风险并控制成本。 


此外,Oracle 近期在甲骨文全球云大会上宣布 Oracle Code Assist 将从 Java 开始进行优化。Oracle Code Assist 是一个 AI 代码同伴,可帮助企业更轻松地构建 Java 应用,在 OCI 上运行的 Oracle Code Assist 服务还可用于 C、C++、Go、JavaScript、PL/SQL、Python、Ruby 和 Rust。


JavaOne 即将于 2025 年重磅回归

全球 Java 社区的旗舰活动 JavaOne 将于 2025 年返回美国旧金山湾区。2025 年 3 月 17 日至 20 日,在美国加利福尼亚州 Redwood Shores 举办 JavaOne 2025 活动,与会者将有机会了解 Java 的近期发展,并与 Oracle Java 专家和行业知名人士互动。请点击此处阅读 Inside Java 的博客文章,了解更多信息。如果您有兴趣在 JavaOne 上进行展示,请点击此处参阅征文通知。


Agile Developer, Inc. 总裁 Venkat Subramanian 表示:“敏捷开发有助于通过反馈循环确保与客户需求保持一致,而 Java 则提供了开发人员所需的敏捷性。在 Java 23 的众多有价值的功能中,流收集器的演变给我留下了特别深刻的印象。该特性对于在功能代码开发流程中,创建自定义步骤非常有用,以便您可以有效地针对特定的业务需求。”


德鲁大学 (Drew University) 的 Barry Burd 教授表示:“作为一名作家和教育家,我一直在使用 Java 23 的 Implicitly Declared Classes 预览版功能修订我的 Java 入门书,这些功能使我的工作更加轻松了。以前版本中大部分冗长的代码都已被省略,这有助于学生专注于基本逻辑,不会迷失在一行行的样板文本中。此外,隐式声明的类和实例主方法让我能够简化书中的代码示例,现在,我有更多的空间来纳入其他有趣的 Java 概念。我很高兴能够使用 Java 23 向我的大学生教授编程知识。”


JetBrains 的 Java 开发人员倡导者 Mala Gupta 表示:“在 JetBrains,我们致力于帮助开发人员在 IntelliJ IDEA 中使用和采用新的 Java 特性,即使这些特性尚未进入到生产环境,这当然适用于 Java 23 的 IDE 支持。IntelliJ IDEA 2024.2 让开发人员可以轻松利用 Java 23 中高度创新的新功能,例如模式中的原始类型、隐式声明的类、灵活的构造器主体、Markdown 文档注释等。”

本站部分文章来自互联网,文章版权归原作者所有。如有疑问请联系QQ:1633373438