甲骨文披露 Java 即将推出的五项新功能
Java 改进建议包括语言改进和性能优化,首先是在 JDK 25 中提供稳定的值 API。
随着 JDK(Java 开发工具包)24 刚刚全面上市,甲骨文公司(Oracle)对不远的将来即将推出的 Java 功能进行了预览,这些功能包括从增强的基元盒到空限制值类类型。
甲骨文在3月18日列举了正在为即将发布的Java版本准备的五项功能,其中包括稳定值(stable values),该API已被正式定为今年9月发布的JDK 25版本的目标。其他两项功能包括值类和对象以及派生记录创建。JDK Enhancement Proposals (JEP) 已针对所有五项功能发布,目前正处于预览阶段:
- 增强的基元装箱功能使用装箱来支持语言增强功能,这些语言增强功能将基元类型处理得更像引用类型。其目标包括:当基元值被用作字段访问、方法调用或方法引用的 “接收者 ”时,允许对基元值进行装箱;当使用引用类型的返回值覆盖方法时,允许不装箱的返回类型。此外,原始类型也将作为类型参数得到支持。
- 空值限制值类类型允许存储值对象的变量类型不包括
null
,从而在运行时实现更紧凑的存储和其他优化。限空值类类型既是一种语言特性,也是一种虚拟机特性,目前正在进行预览。 - 值类和值对象通过值对象增强了 Java 平台,值对象是只有
final
字段且没有对象标识的类实例。其目标包括允许开发人员选择简单值编程模型,在该模型中,对象仅通过其字段值加以区分。该建议还将最大限度地提高 JVM 的自由度,使其能以改善内存占用、定位和垃圾回收效率的方式对简单值进行编码。 - 派生记录record创建通过从现有记录创建新记录的能力增强了语言的功能。目标之一是提供一种简洁的方法来创建从现有记录值派生出来的新记录值。另一个目标是简化记录类的声明,不再需要提供显式的凋零方法(即不可变的类似设置器方法)。
- 稳定值Stable values是保存不可变数据的对象。由于 JVM 将稳定值视为常量,因此它们可以实现与声明字段
final
相同的性能优化。同时,稳定值还能在初始化时间上提供更大的灵活性。该提案的目标包括通过打破应用程序状态的单一初始化来改进 Java 应用程序的启动。
你也许感兴趣的:
- Java 24 新功能示例
- 【外评】不要把 Rust 写成 Java
- “甲骨文牌”Java正在死亡
- 您现在可以像运行 Python 一样运行 Java
- 从 Java 8 迁移到 Java 17 (二):Java 中值得注意的 API 变化
- 从 Java 8 迁移到 Java 17:新功能大汇总
- Oracle 再夺 Java 命?大公司用 Java 要小心了!
- 【程序员搞笑图片】java haters
- Java 22 新功能特性及示例
- Java 22 中最令人兴奋的 3 个功能
你对本文的反应是: