【发布时间】:2020-01-12 13:04:38
【问题描述】:
我读到了GraalVM 和SubstrateVM 框架。我了解native-image 命令可用于从 Java 源文件创建本机应用程序,如下所示:
$ javac Hello.java
$ native-image --no-server --no-fallback Hello
$ ./hello
Hello World!
$
这将创建一个本机二进制文件 hello,根据 question,它由 SubstrateVM 框架提供支持,该框架提供...
...在没有 JVM 的情况下实际运行提前编译的 Java 字节码所需的其他东西(运行时)。
我不清楚:
- 何时以及为何需要 SubstrateVM 框架?仅在本机构建时需要还是在运行时也需要?
hello二进制文件是由纯目标机器字节码组成,还是仍然存在 Java 字节码和嵌入的成熟虚拟机,即 SubstrateVM? - 与通常的
Hello World!C 程序相比,运行hello本机映像需要哪些开销?
【问题讨论】:
标签: java graalvm graalvm-native-image substratevm