Graalvm不完全尝鲜(一)

528 阅读1分钟

Graalvm不完全尝鲜(一)

前置

tips

1,Graalvm并不是一个新的VM,而是利用jvm的编译器接口,在hotspot的基础上,用java写的编译器替换了C1,C2编译器的一个jvm发行版,并且附带了一些其他的工具

2,native-image即把java编译为本地机器码,因此需要一些本地的C/C++编译工具链来进行库的连接等操作

前期工作准备

1,准备graalvm

GraalVM 社区版即可

1634777401832.png

因为graalvm只是一种jvm,所以按照配置jdk的方法配置即可

1634777487531.png 下面就是安装native-image插件,在配置好graalvm环境后直接在cmd里面执行

gu install native-image

下图因为我安装好了所以没有进度条

1634777560156.png

2,准备msvc

Visual Studio 2019 IDE - 面向软件开发人员的编程工具 (microsoft.com) 1634777622399.png

还是社区版即可

1634777669382.png 选择安装msvc即可

中期工作

1,编写HelloWorld文件

import java.util.*;
public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, World!");
new Scanner(System.in).next();
  }
}

并且编译为class文件

2,寻找你的vs安装路径 默认为

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community

最后

寻找msvc的环境变量配置文件

默认为 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat

按下图执行

1634777924701.png

切换到你上一步的class文件路径

执行native-image ${文件名(不带扩展名)}

1634778021336.png

等待编译即可

编译产物:

1634778059186.png

直接双击执行即可

因为编译为机器码了,就不需要jvm运行了

1634778201943.png