GraalVM 19.3 发布,支持 JDK 11 与 ARM64 架构

栏目: 软件资讯 · 发布时间: 4年前

内容简介:GraalVM 19.3 发布了。GraalVM 是一个高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。 GraalVM 消除了编程语言之间的...

GraalVM 19.3 发布了。GraalVM 是一个高性能跨语言虚拟机,用于运行 JavaScript、 Python 3、 Ruby 、R、基于 JVM 的语言,如 Java 、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。

GraalVM 消除了编程语言之间的隔离,并支持共享运行时的互操作性。它可以独立运行,也可以在 OpenJDK、Node、Oracle 或者 MySQL 上运行。

GraalVM 19.3 发布,支持 JDK 11 与 ARM64 架构

GraalVM 19.3 是从项目主线构建的第一个计划长期支持(LTS)版本,也是一个主要功能版本,建议所有用户升级。LTS 状态可以确保稳定性、安全性和性能修复程序将从当前分支向后移植,直到下一个 LTS 版本出现为止。

此版本基于 JDK 11,同时也是第一个支持 JDK 11 的 GraalVM 版本,考虑到 JDK 8 和 JDK 11 之间比较大的区别,这其实代表了一个重要的里程碑。特别是 JDK 9 中引入的 Java 平台模块系统(JPMS,Java Platform Module System)意味着 GraalVM 现在使用模块封装来隔离代码以隔离诸如 JVMCI、GraalVM 编译器和应用程序代码中的 Truffle API。此外,这也意味着 JDK 11 上的 GraalVM 包含自 JDK 8 以来的所有 JDK 更改。

GraalVM 19.3 发布,支持 JDK 11 与 ARM64 架构

关于 JDK 11,此次发布还提供了基于 JDK 11 的支持 ARM64 架构的 GraalVM 社区版的预览,它包括对所有 JVM 语言的支持,其它语言支持将在不久后提供。

该发行版包括现成的 GraalVM 本地镜像,可立即构建启动应用程序,这些应用程序在 ARM64 环境中消耗的内存更少,不过目前存在一些限制,比如 npm 和 node 不支持 runtime 代码安装。

GraalVM 19.3 切换为使用 JDK 本地代码,而不是手动替换。GraalVM 本地镜像切换到 Java 本地接口(JNI)平台使它有可能提供对 JDK 11 的支持以及对 Windows OS 的扩展支持。这对启动时间或内存占用量没有影响,并且消除了将 JDK 库(例如 libsunec.so)与使用 Java 加密服务的本地镜像一起交付的需要。GraalVM 现在附带了 JDK 库的可静态链接版本。

同时,通过本地镜像 Maven 插件支持将 GraalVM 本地镜像与 Maven 一起使用,这意味着用户可以使用 mvn package 命令直接使用 Maven 构建项目及其本地镜像。从 GraalVM 19.3 开始,用于 GraalVM 本地镜像相关工件(包括插件)的 Maven  <groupId> 从 com.oracle.substratevm 更改为 org.graalvm.nativeimage:

<plugin>
    <groupId>org.graalvm.nativeimage</groupId>
    <artifactId>native-image-maven-plugin</artifactId>
    <version>19.3.0</version>
    <executions>
        <execution>
            <goals>
                <goal>native-image</goal>
            </goals>
            <phase>package</phase>
        </execution>
    </executions>
    <configuration>
        <skip>false</skip>
        <buildArgs>
            --no-fallback
        </buildArgs>
    </configuration>
</plugin>

GraalVM 编译器方面的改进包括:

  • 改进了 System.arraycopy,以消除复制到 Object[] 时的存储检查。这项改进解决了某些 Eclipse Collections 基准测试的速度下降(相对于 C2)的问题。
  • 通过更优化的内联修复了在 Scala 中创建列表值时的性能下降。
  • 修复了可能阻止包含旧版 Javac 版本产生的 JSR 字节码的方法被编译的问题。

此外关于各个语言的支持与 工具 支持的变化,详情查看更新说明:

https://www.graalvm.org/docs/release-notes/19_3


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法之美

算法之美

左飞 / 电子工业出版社 / 2016-3 / 79.00元

《算法之美——隐匿在数据结构背后的原理(C++版)》围绕算法与数据结构这个话题,循序渐进、深入浅出地介绍了现代计算机技术中常用的40 余个经典算法,以及回溯法、分治法、贪婪法和动态规划等算法设计思想。在此过程中,《算法之美——隐匿在数据结构背后的原理(C++版)》也系统地讲解了链表(包括单向链表、单向循环链表和双向循环链表)、栈、队列(包括普通队列和优先级队列)、树(包括二叉树、哈夫曼树、堆、红黑......一起来看看 《算法之美》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具