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

相关推荐
mango_mangojuice6 分钟前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
程序员侠客行10 分钟前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
时艰.13 分钟前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
丶小鱼丶18 分钟前
并发编程之【优雅地结束线程的执行】
java
市场部需要一个软件开发岗位23 分钟前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
忆~遂愿27 分钟前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD00132 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
PP东34 分钟前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
ManThink Technology39 分钟前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
invicinble44 分钟前
springboot的核心实现机制原理
java·spring boot·后端