Graalvm不完全尝鲜(一)
前置
tips
1,Graalvm并不是一个新的VM,而是利用jvm的编译器接口,在hotspot的基础上,用java写的编译器替换了C1,C2编译器的一个jvm发行版,并且附带了一些其他的工具
2,native-image即把java编译为本地机器码,因此需要一些本地的C/C++编译工具链来进行库的连接等操作
前期工作准备
1,准备graalvm
GraalVM 社区版即可
因为graalvm只是一种jvm,所以按照配置jdk的方法配置即可
下面就是安装native-image插件,在配置好graalvm环境后直接在cmd里面执行
gu install native-image
下图因为我安装好了所以没有进度条
2,准备msvc
Visual Studio 2019 IDE - 面向软件开发人员的编程工具 (microsoft.com)
还是社区版即可
选择安装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
按下图执行
切换到你上一步的class文件路径
执行native-image ${文件名(不带扩展名)}
等待编译即可
编译产物:
直接双击执行即可
因为编译为机器码了,就不需要jvm运行了