windows下使用springboot3.0 和 使用grallVM虚拟机

一:准备环境:

JDK17 下载地址 :https://www.oracle.com/java/technologies/downloads/

GrallVM 虚拟机 下载地址:https://www.graalvm.org/downloads/

Gradle 7.5 or Maven 3.5 (以上版本)

visual studio 下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/

设置环境变量

1.grallVM下载后解压,设置环境变量

添加变量 GRAALVM_HOME 值为grallVM安装地址
windows下使用springboot3.0 和 使用grallVM虚拟机_第1张图片

添加进path
windows下使用springboot3.0 和 使用grallVM虚拟机_第2张图片

2 添加JAVA_HOME
windows下使用springboot3.0 和 使用grallVM虚拟机_第3张图片

添加入path
windows下使用springboot3.0 和 使用grallVM虚拟机_第4张图片

在控制台输入 java -version ,看当前版本。jdk17+graalVM
windows下使用springboot3.0 和 使用grallVM虚拟机_第5张图片

3.因为grallVM需要C++环境,所以我们还需要安装visual studio 选择C++桌面开发 ,箭头指的3个必须选,自己windows是什么版本就选择什么版本,记住自己的安装位置,要配置环境变量
windows下使用springboot3.0 和 使用grallVM虚拟机_第6张图片

配置环境变量

配置第1个环境变量,在Path中添加:

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x64
windows下使用springboot3.0 和 使用grallVM虚拟机_第7张图片

配置第2个环境变量,新增INCLUDE环境变量

C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include;
windows下使用springboot3.0 和 使用grallVM虚拟机_第8张图片

配置第3个环境变量,新增lib环境变量:

windows下使用springboot3.0 和 使用grallVM虚拟机_第9张图片

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\lib\x64;

4 .安装native-image

gu install native-image

因为之前已经配置了grallVM的环境变量,所以可以直接执行,我的已经安装
windows下使用springboot3.0 和 使用grallVM虚拟机_第10张图片

查看已安装的工具 gu list

windows下使用springboot3.0 和 使用grallVM虚拟机_第11张图片

至此环境已经配置好

二. 创建并启动服务

2.1创建服务

idea创建springboot3.0+grallVM

1.选择jdk17
windows下使用springboot3.0 和 使用grallVM虚拟机_第12张图片

2.选择grallVM+springweb

windows下使用springboot3.0 和 使用grallVM虚拟机_第13张图片

windows下使用springboot3.0 和 使用grallVM虚拟机_第14张图片

pom.xml 生成插件,这是grallvm编译核心插件

org.graalvm.buildtools native-maven-plugin org.springframework.boot spring-boot-maven-plugin

idea配置jdk17

windows下使用springboot3.0 和 使用grallVM虚拟机_第15张图片
windows下使用springboot3.0 和 使用grallVM虚拟机_第16张图片

2.2 启动服务

2.2.1先使用传统方法启动,启动约1秒
windows下使用springboot3.0 和 使用grallVM虚拟机_第17张图片

2.2.2 使用grallVM打成镜像启动服务

2.2.2.1命令执行在服务目录下执行

执行springboot项目aot预处理操作

mvn spring-boot:process-aot
windows下使用springboot3.0 和 使用grallVM虚拟机_第18张图片

使用native-image将项目jar包打成可执行文件,这个过程通常要较长时间

mvn -Pnative native:build
windows下使用springboot3.0 和 使用grallVM虚拟机_第19张图片

执行成功生成 执行时文件,在target目录下

windows下使用springboot3.0 和 使用grallVM虚拟机_第20张图片

windows下使用springboot3.0 和 使用grallVM虚拟机_第21张图片

windows下使用springboot3.0 和 使用grallVM虚拟机_第22张图片

2.2.2.2或者不使用命令,maven下执行也可以
windows下使用springboot3.0 和 使用grallVM虚拟机_第23张图片

对比:前者约为后者的4倍

启动时间对比:测试可执行文件启动速度只要0.1秒,比传统方式要快10倍左右
windows下使用springboot3.0 和 使用grallVM虚拟机_第24张图片

windows下使用springboot3.0 和 使用grallVM虚拟机_第25张图片

占用内存对比:传统jvm
windows下使用springboot3.0 和 使用grallVM虚拟机_第26张图片

镜像启动exe

windows下使用springboot3.0 和 使用grallVM虚拟机_第27张图片

windows下使用springboot3.0 和 使用grallVM虚拟机_第28张图片

你可能感兴趣的:(java,1024程序员节)