前言
铁打的 Java,流水的版本,而不久前,Java 18 才正式发布还没用呢,这遵循 Oracle 六个月发一版本的频率,Java 19将在今年 9 月出炉但是没想到。这不还没等众多开发者用上 Java 18,关于Java 19 最新的两个目标功能就被披露了出来。据外部媒体的外媒 InfoWorld 报道,根据正在进行的《增强 Java 计划》?,Java 19 有可能承载了大量功能【功能满满】,包括从通用泛型到值对象。而其中官方在 Java 19 中明确提出的两个最新特性分别是:
1、用于表达向量计算的 Vector API,它将在 Java 下一版本中进行第四次孵化一个更新的后续或是下一个版本;
2、将 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 版本里只要六个月的支持期,小可爱在此不太建议大家在生产环境中直接使用【后果太明显】,不过其中的功能特性可供尝鲜。
而你们期待吗?
欢迎大家的回答!