This post is a TLDR; of Getting started with GraalVM
最终,Java可以成为真正的本机,而不会像ExcelsiorJet这样的商业“本机”编译器或Launch4J这样的Launcher出现膨胀。 认识GraalVM。 使用本机映像,您可以AOT(提前)将Java代码编译为本机可执行文件。 当我指的是本机可执行文件时,我指的是真正的本机可执行文件,与Launch4j不同,后者可以嵌入jre或提示您获取一个jre。
这是一个快速的HelloWorld入门。 由于它是快速的Hello World,因此我们不希望搞乱现有的JDK安装。 因此,我们将在Windows中使用docker。
docker run -it -v C:/graalexp:/home/graalexp oracle/graalvm-ce:19.2.0.1 bash
C:/ graalexp-是您的Windows支架。 [请记住在设置中与Docker共享您的C盘]
用记事本写一个HelloWorld.java在C:/ graalexp
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Graal!");
}
}
将本地映像安装在docker容器中,因为默认情况下未将其安装在graalvm中。
gu install native-image
现在将其编译为本地映像。 本机映像将在linux目标上运行。 如果希望本机可执行文件在Windows上运行,则与此处列出的步骤有些不同。
javac HelloWorld.java
native-image HelloWorld
./helloworld
Hello, Graal!
而已。 注意:Graal有商业版和社区版。 我们在这里使用社区版。