Oracle 公布 Java 的五大新功能

embedded/2025/3/22 23:39:31/

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


http://www.ppmy.cn/embedded/174822.html

相关文章

Vue 3 打包优化实战指南:从构建到部署的全链路性能提升

本指南将基于一个真实的博客项目,通过7个关键优化步骤,将打包体积从初始的3.2MB压缩到最终的412KB,首屏加载时间从4.1秒降至0.8秒。所有操作均可直接在项目中实践验证。 一、项目初始化与基准测试 1. 创建示例博客项目 npm create vuelates…

如何使用PHP爬虫获取Shopee(虾皮)商品详情?

在跨境电商领域,Shopee(虾皮)作为东南亚及中国台湾地区领先的电商平台,拥有海量的商品信息。无论是进行市场调研、数据分析,还是寻找热门商品,获取Shopee商品详情都是一项极具价值的任务。然而,…

k8s中PAUSE容器与init容器比较 local卷与hostpath卷比较

目录 一、PAUSE容器与INIT容器比较 1. Pause 容器 作用 特点 示例 2. Init 容器 作用 特点 示例 3. Pause 容器 vs Init 容器 4. 总结 这两个哪个先启动呢? 详细启动顺序 为什么 Pause 容器最先启动? 示例 总结 二、local卷与hostpath卷…

【Agent】Dify Docker 安装问题 INTERNAL SERVER ERROR

总结:建议大家选择稳定版本的分支,直接拉取 master 分支,可能出现一下后面更新代码导致缺失一些环境内容。 启动报错 一直停留在 INSTALL 界面 我是通过 Docker 进行安装的,由于项目开发者不严谨导致,遇到一个奇怪的…

20250320在荣品的PRO-RK3566开发板的buildroot系统下使用J27口的OTG0口接鼠标

rootrk3566-buildroot:/# uname -a rootrk3566-buildroot:/# lsusb rootrk3566-buildroot:/# v4l2-ctl --list-devices rootrk3566-buildroot:/# v4l2-ctl --list-formats-ext -d /dev/video10 rootrk3566-buildroot:/# v4l2-ctl -D -d /dev/video10 【卡顿】 gst-launch-1.0 v…

深度学习:从零开始的DeepSeek-R1-Distill有监督微调训练实战(SFT)

原文链接:从零开始的DeepSeek微调训练实战(SFT) 微调参考示例:由unsloth官方提供https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Qwen2.5_(7B)-Alpaca.ipynbhttps://colab.research.google.com/git…

网络华为HCIA+HCIP VLAN间通信

VLAN间通信 使用路由器(物理接口,子接口)实现VLAN通信 路由器的一个物理接口作为一个VLAN的网关,因此存在一个VLAN就需要占用一个路由器的物理接口路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器…

Spark SQL 编程初级实践

Spark SQL 编程初级实践 文章目录 Spark SQL 编程初级实践[toc]写在前面第1题:Spark SQL 基本操作主程序代码主程序执行结果 第2题:编程实现将 RDD 转换为 DataFrame题目主程序代码主程序执行结果 第3题:编程实现利用 DataFrame 读写 MySQL 的…