Bootstrap

提前编译AOT整个实现流程(GraalVM安装配置)

目录

1.什么是提前编译AOT

1)AOT(ahead of time)提前编译(运行前编译)

2)JIT (just in time) 动态编译 (实时编译)

2.安装GraalVM并配置环境变量

3.安装c++编译环境也就是Visual studio

4.后面配置Visual Studio环境变量

5.打开工件进行操作实验


求关注求点赞求收藏求转发,你的支持就是我更新的动力

1.什么是提前编译AOT

与AOT区别的一种编译也就是一般使用的编译JIT也就是实时编译

1)AOT(ahead of time)提前编译(运行前编译)

可以把源代码直接转换成机器代码,启动快内存占低(在运行前就转换成机器码,打包体积小),运行时不优化,程序安装时间长

2)JIT (just in time) 动态编译 (实时编译)

在程序运行时,动态生成代码运行时可以优化,启动比较慢,编译时候需要占用运行时的资源,程序运行时,把字节码转换硬盘上直接运行机器码,部署到环境

要实现提前编译就要将原本的虚拟机换成GraalVM虚拟机

2.安装GraalVM并配置环境变量

https://www.graalvm.org/downloads/

在这里插入图片描述在官网下在graalvm的jdk解压后进行配置

在这里插入图片描述添加GRAALVM_HOME变量,以及其jdk的路径,然后将JAVA_HOME的值也改为graalvm的jdk路径,

在这里插入图片描述修改path中的路径,覆盖掉原本的%JAVA_HOME%\bin为graalvm文件目录并将其放在第一条

这里要注意如果和我上述步骤一模一样还是不行,且只改了用户的,请将系统的也改了,这样就可以用到全局

在这里插入图片描述输入java -version检查是否安装成功

然后输入gu install native-image下载native-image插件

3.安装c++编译环境也就是Visual studio

下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

勾选相关内容进行下载

4.后面配置Visual Studio环境变量

配置INCLUDE,LIB,Path

这里需要说明这些路径的前面可能都不一样与你安装的位置有关,但是后半部分都是一样的,是可以找到的。

5.打开工件进行操作实验

在搜索框中找到这个

刚开始进去是这样可以使用cd指令跳到指定盘目录

例如这里我在d盘创建了一个helloworld程序

public class Hello {

    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

跳到helloworld代码文件存放的目录输入上图中指令,直到出现finish,则创建完成

创建完成后就会出现一个exe文件,这是完成提前编译。

;