graalvm安装和使用

环境:Windows10

资源下载地址:

Release GraalVM Community Edition 22.1.0 · graalvm/graalvm-ce-builds · GitHubGraalVM CE binaires built by the GraalVM community - Release GraalVM Community Edition 22.1.0 · graalvm/graalvm-ce-buildshttps://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.1.0

 1、安装graalvm并配置环境变量

配置环境变量(同JDK)

 

 如下图则为成功

2、安装GRaalvm Native-image工具

安装命令,进入到此jar的存放目录,执行命令

gu -L install native-image-installable-svm-java11-windows-amd64-20.2.0.jar

如下图

3、Visual Studio Installer

初始化x64编译环境(call “vs的vcvars64.bat文件路径”),如下图表示编译环境正常

 

 

 4、GraalVm的反射配置辅助工具agentlib配置及使用

Graalvm通过静态分析提前编译来为Java应用程序构建高度优化的本机可执行文件,这就需要在编译时就知道所有的程序类型,而java中的反射、动态代理等功能,在编译时不确定具体的类型,所以在使用GraalVm构建native image前需要通过配置列出反射可见的所有类型。反射的配置是一个json格式的文件。为了简化这种反射的配置,GraalVm提供agentlib工具,来辅助生成这个配置文件。为了更方便地准备这些配置文件,GraalVM提供了一个代理,该代理可以跟踪常规Java VM上执行动态功能的所有使用情况。可以在GraalVM的 java命令的命令行上启用它,在项目中新建agentlib文件夹,进入到jar所在的目录,从此目录进入cmd执行如下命令:

java -agentlib:native-image-agent=config-output-dir=E:\IDEA-Workplace\hxql-erp-admin\agentlib -jar hxql-erp-admin-1.0-SNAPSHOT.jar

然后会生成下面这些东西

onfig-output-dir配置好配置的输出目录,默认情况下,配置文件生成将在jvm停止后输出,也可以通过添加配置,定期输出,如

config-write-period-secs:按照此配置中的指定,每隔几秒钟执行一次定期写入。仅支持大于零的整数值。

config-write-initial-delay-secs:第一次写入的秒数。仅支持大于或等于零的整数值。仅当config-write-period-secs大于零时启用。

每个配置间使用逗号分隔,如:

Java -agentlib:native-image-agent=config-output-dir=E:\IDEA-Workplace\hxql-erp-admin\agentlib,config-write-period-secs=60,config-write-initial-delay-secs=5 -jar hxql-erp-admin-1.0-SNAPSHOT.jar

在执行期间,代理与Java VM交互以拦截所有查找类,方法,字段,资源或请求代理访问的调用。然后,代理生成的文件jni-config.json,reflect-config.json,proxy-config.json、resource-config.json在指定的目录输出。生成的文件是JSON格式的独立配置文件,其中包含所有拦截的动态访问。

在使用agentlib生成配置时,建议将应用的测试用例全部跑一边,让应用覆盖到所有的业务接口,不然,生成的配置可能覆盖不到所有的反射类

这一部分援引脚本之家GraalVm的反射配置辅助工具agentlib配置及使用_java_脚本之家 (jb51.net)

通过将生成的配置文件放置在项目的resources/META-INF/native-image/类路径上的目录中(GraalVm提供的默认的配置加载路径)使其生效

5、先执行package命令编译,然后进到target目录下,依次执行如下命令

call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"

native-image -jar hxql-erp-admin-1.0-SNAPSHOT.jar

 

 

双击.exe文件即可运行 

项目以.exe文件形式启动后接口运行效率较之前.jar形式启动有较明显提升

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值