Java 18 还未用上,Java 19 最新两大特性曝光

简介: 铁打的 Java,流水的版本。不久前,Java 18 才正式发布,遵循 Oracle 六个月发一版本的频率,Java 19 将在今年 9 月出炉。这不,还没等众多开发者用上 Java 18,关于 Java 19 最新的两个目标功能就被披露了出来。

外媒 InfoWorld 报道,根据正在进行的增强 Java 计划,Java 19 有可能承载大量功能,包括从通用泛型到值对象。其中,官方在 Java 19 中明确提出的两个最新特性分别是:用于表达向量计算的 Vector API,它将在 Java 下一版本中进行第四次孵化;将 JDK 一直到开源的 Linux/RISC-V 指令集架构(ISA)。

用于表达向量计算的 Vector API,该计算可以在运行时可靠地编译为支持的 CPU 架构上的最佳矢量指令。使用该 API 的开发者可基于一个用户模型,使用支持自动矢量化的 HotSpot,从而获得了一种在 Java 中编写复杂矢量算法的方法,使矢量化更可预测和稳健。

在开发设计时,这个 API 主要目标包括了四个方面。一是,API 能够清晰简洁地表达范围广泛的向量计算;二是 API 与 CPU 架构无关,可以在支持向量指令的多个架构上实现;三是在 x64 和 AArch64 架构上具有可靠的运行和编译性能;四是能够实现 "优雅 "的降级,以应对矢量计算在运行时不能完全表达为矢量操作序列的情况。Vector API 先前已被纳入 JDK 16、JDK 17 和 JDK 19。

随着 Linux/RISC-V 的移植,Java 将获得对一个硬件指令集的支持,该指令集已经被广泛的语言工具链所支持。实际上,RISC-V 是一个相关 ISA 的系列。据官方透露,Linux/RISC-V 端口将只支持 RISC-V 的 RV64GV 配置,这是一个包括矢量指令的通用 64 位 ISA。Java 开发者可能会在将来考虑其他 RISC-V 的配置。

移植将支持以下 HotSpot VM 选项:模板解释器、C1(客户端)JIT 编译器、C2(服务器)JIT 编译器,以及所有当前的主线垃圾收集器,包括 ZGC 和 Shenandoah。实际的移植工作已接近完成;JDK 增强建议(JEP)的重点是将移植工作整合到 JDK 主线库中。

而除了以上两种特性之外,允许 Java 程序与 JVM 运行时之外的代码和数据互操作的 Foreign Function 和 Memory API 也或将出现在 Java 19 中。

最后,值得一提的是,和 Java 18 一样,Java 19 同样是非 LTS 版本,只要六个月的支持期,在此不太建议大家在生产环境中直接使用,不过其中的功能特性可供尝鲜。你期待吗?

相关文章
|
2月前
|
存储 安全 Java
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【10月更文挑战第17天】Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
80 2
|
2月前
|
存储 Java
深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。
【10月更文挑战第16天】本文深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。HashSet基于哈希表实现,添加元素时根据哈希值分布,遍历时顺序不可预测;而TreeSet利用红黑树结构,按自然顺序或自定义顺序存储元素,确保遍历时有序输出。文章还提供了示例代码,帮助读者更好地理解这两种集合类型的使用场景和内部机制。
48 3
|
2月前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
38 2
|
20天前
|
存储 Java 开发者
什么是java的Compact Strings特性,什么情况下使用
Java 9引入了紧凑字符串特性,优化了字符串的内存使用。它通过将字符串从UTF-16字符数组改为字节数组存储,根据内容选择更节省内存的编码方式,通常能节省10%至15%的内存。
|
29天前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
48 6
|
1月前
|
分布式计算 Java API
Java 8引入了流处理和函数式编程两大新特性
Java 8引入了流处理和函数式编程两大新特性。流处理提供了一种声明式的数据处理方式,使代码更简洁易读;函数式编程通过Lambda表达式和函数式接口,简化了代码书写,提高了灵活性。此外,Java 8还引入了Optional类、新的日期时间API等,进一步增强了编程能力。这些新特性使开发者能够编写更高效、更清晰的代码。
36 4
|
2月前
|
存储 Java API
优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。
【10月更文挑战第19天】本文介绍了如何优雅地使用Java Map,通过掌握其高级特性和技巧,让代码更简洁。内容包括Map的初始化、使用Stream API处理Map、利用merge方法、使用ComputeIfAbsent和ComputeIfPresent,以及Map的默认方法。这些技巧不仅提高了代码的可读性和维护性,还提升了开发效率。
107 3
|
2月前
|
存储 安全 Java
Java Map新玩法:深入探讨HashMap和TreeMap的高级特性
【10月更文挑战第19天】Java Map新玩法:深入探讨HashMap和TreeMap的高级特性,包括初始容量与加载因子的优化、高效的遍历方法、线程安全性处理以及TreeMap的自然排序、自定义排序、范围查询等功能,助你提升代码性能与灵活性。
31 2
|
2月前
|
Java 开发者
在Java集合世界中,Set以其独特的特性脱颖而出,专门应对重复元素
在Java集合世界中,Set以其独特的特性脱颖而出,专门应对重复元素。通过哈希表和红黑树两种模式,Set能够高效地识别并拒绝重复元素的入侵,确保集合的纯净。无论是HashSet还是TreeSet,都能在不同的场景下发挥出色的表现,成为开发者手中的利器。
30 2
|
2月前
|
Java
Java Set以其“不重复”的特性,为我们提供了一个高效、简洁的处理唯一性约束数据的方式。
【10月更文挑战第16天】在Java编程中,Set接口确保集合中没有重复元素,每个元素都是独一无二的。HashSet基于哈希表实现,提供高效的添加、删除和查找操作;TreeSet则基于红黑树实现,不仅去重还能自动排序。通过这两个实现类,我们可以轻松处理需要唯一性约束的数据,提升代码质量和效率。
44 2