当前位置: 首页 > news >正文

Oracle 公布 Java 的五大新功能

Java 增强提案包括语言增强和性能优化,从 JDK 25 中的稳定值 API 开始。

随着JDK(Java 开发工具包)24刚刚全面上市,Oracle 提前透露了不久的将来即将推出的 Java 功能,包括增强原始装箱到空限制值类类型。

3 月 18 日,Oracle 列出了即将发布的 Java 版本所准备的五项功能,其中包括稳定值,该 API 已正式确定为将于今年 9 月发布的JDK 25版本。

另外两项功能包括值类和对象以及派生记录创建。所有五项功能的 JDK 增强提案 (JEP) 均已发布,目前处于预览阶段:

Enhanced primitive boxing 增强的原始装箱使用装箱来支持将原始类型更像引用类型的语言增强功能。目标包括允许在原始值用作字段访问、方法调用或方法引用的“接收者”时对其进行装箱,以及在覆盖具有引用类型返回的方法时允许未装箱的返回类型。此外,原始类型将作为类型参数受到支持。

Null-restricted value class types 空值限制值类类型允许将存储值对象的变量类型排除在外null,从而实现更紧凑的存储和运行时的其他优化。空值限制值类类型正在作为语言功能和虚拟机功能进行预览。

Value classes and objects 值类和值对象通过值对象增强了 Java 平台,值对象是仅具有final字段且缺乏对象标识的类实例。目标包括允许开发人员选择简单值的编程模型,其中对象仅通过其字段值来区分。该提案还将最大限度地提高 JVM 以改进内存占用、局部性和垃圾收集效率的方式对简单值进行编码的自由度。

Derived record creation 派生记录创建增强了语言从现有记录创建新记录的能力。一个目标是提供一种简洁的方法来从现有记录值派生出新记录值。另一个目标是通过消除提供显式凋零方法(即 setter 方法的不可变模拟)的需要来简化记录类的声明。

Stable values 稳定值是保存不可变数据的对象。由于 JVM 将稳定值视为常量,因此它们允许通过声明字段来实现相同的性能优化final。同时,它们在初始化时间方面提供了更大的灵活性。该提案的目标包括通过打破应用程序状态的整体初始化来改进 Java 应用程序的启动。

相关文章:

  • Vue安装及首次运行报错的相关问题解决方案
  • 二叉树(堆)
  • CentOS系统下安装tesseract-ocr5.x版本
  • Node.js 包与 npm 详解:概念、作用及完整使用指南
  • Android14 系统左右声音通道设置代码
  • 今天你学C++了吗?——二叉搜索树
  • 深入理解Python闭包与递归:原理、应用与实践
  • java项目之基于ssm的少儿编程在线培训系统(源码+文档)
  • 《K230 从熟悉到...》屏幕手画板
  • AI 原生 IDE Trae 深度体验:SSHremote 功能如何重新定义远程开发与云原生部署
  • 项目-苍穹外卖(九) 店铺营业状态设置+HttpClient
  • Node.js模块:使用 Bull 打造高效的任务队列系统
  • SQL Server数据库简介及应用
  • 网络空间安全专业发展历程及开设院校
  • 【SpringBatch】03步骤对象 (Step)控制与执行流程设计
  • 学习记录 6 pointnet复现
  • 【深度学习量化交易18】盘前盘后回调机制设计与实现——基于miniQMT的量化交易回测系统开发实记
  • 美团Leaf分布式ID生成器使用教程:号段模式与Snowflake模式详解
  • 《UNIX网络编程卷1:套接字联网API》第2章 传输层:TCP、UDP和SCTP
  • [入门]NUC13配置Ubuntu20.04详细步骤
  • 金砖国家召开经贸联络组司局级特别会议,呼吁共同抵制单边主义和贸易保护主义
  • 菲律宾中期选举初步结果出炉,杜特尔特家族多人赢得地方选举
  • 白玉兰奖征片综述丨动画的IP生命力
  • 大英博物馆展歌川广重:他是梵高最钟爱的浮世绘名家
  • “一码难求”的Manus开放注册但价格不菲,智能体距离“实用”还有多远
  • 独行侠以1.8%概率获得状元签,NBA原来真的有剧本?