首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在“常规”VM上部署GraalVM应用程序吗?

可以在“常规”VM上部署GraalVM应用程序吗?
EN

Stack Overflow用户
提问于 2021-11-01 10:41:08
回答 2查看 129关注 0票数 3

为了获得GraalVM提供的性能好处,必须使用GraalVM的编译器编译应用程序。但是,我不清楚的是,应用程序是否也必须由GraalVM执行,或者它是否可以部署到“常规”VM (例如,OpenJDK)中,以便从改进的性能中获益?

一些可能相关的附加细节

  • 我用的是JDK 11
  • 该应用程序只使用JDK语言,例如Java、Kotlin、Groovy。
  • 构建工件是一个JAR文件,即GraalVM本机映像是而不是使用的
EN

回答 2

Stack Overflow用户

发布于 2021-11-01 10:49:11

如果您已经用JVM运行时模式编译了代码,那么您可以在任何JVM上运行应用程序。没有强制使用GraalVM运行应用程序。

如果您已经用Native编译器编译了您的代码,那么它将创建一个本机可执行二进制文件,它可以直接执行,而无需使用任何JVM。

票数 2
EN

Stack Overflow用户

发布于 2021-11-01 16:32:00

GraalVM是以OpenJDK为基础的,附带了一些额外的功能;其中一个是最先进的编译器。

Graal编译器非常通用;它用于编译本机映像(AOT模式),但也可以用作JIT编译器,取代C2,后者是OpenJDK中的默认版本。

在这种情况下,编译器这个术语有点过载了。传统的Java“编译器”,例如javac/ecj,将Java源代码编译成字节码。“优化编译器”,例如Graal和C2,将字节码编译成高度优化的程序集。

GraalVM使用了不同的“优化编译器”(Graal),与普通的OpenJDK (C2)相比,它确实会带来一些加速,但这很大程度上取决于您的工作负载,您应该始终度量自己。

补充参考:Twitter寻求一个完整的Graal运行时克里斯·塔林格

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69795761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档