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

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

内容简介: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-2-1 / CNY 50.00

这既是传统媒体的大裂变年代,也是在线媒体开启的新闻业的黄金时代。 信息流动的新法则不仅改变了媒体业,也在重塑公关、传播和商业的面貌。总之,这个世界的连接方式不仅不再相同,而且这一改变不可逆转。在这个全新重启的在线时代里,无论是信息的获取还是商业本身,信任都变得比以往更重要。 从告别传统媒体的那一刻起,我就有着两个小小的“野心”:一是探寻适合在线时代的媒体生产方式;二是让优质内容有权获得......一起来看看 《新媒体革命——在线时代的媒体、公关与传播》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试