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 应用程序的启动。

相关推荐
郑州光合科技余经理5 分钟前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071576 分钟前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
code2cat17 分钟前
Java进阶篇之AtomicReference:一次替换引用,读到一份完整状态
java·并发编程·不可变对象·atomicreference
专业程序开发源21 分钟前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Wang's Blog21 分钟前
Java 项目实战: 外卖平台优化-前后端分离开发模式与工程拆分
java·开发语言
HEJOO91 小时前
指针的算术运算详解
java·数据结构·算法
sunshine22 girl1 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
EatFan2 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架
小蒜学长2 小时前
基于SpringBoot的佳新超市管理系统设计与实现系统(代码+数据库+LW)
java·数据库·spring boot·后端·佳新超市管理系统
sunshine22 girl2 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习