Spring47 - 演示AOT环境-Native Image构建过程
演示Native Image构建过程
GraalVM安装
(1)下载GraalVM
进入官网下载:https://www.graalvm.org/downloads/
(2)配置环境变量
添加GRAALVM_HOME
把JAVA_HOME修改为graalvm的位置
把Path修改位graalvm的bin位置
使用命令查看是否安装成功
(3)安装native-image插件
使用命令 gu install native-image下载安装
安装C++的编译环境
(1)下载Visual Studio安装软件
https://visualstudio.microsoft.com/zh-hans/downloads/
(2)安装Visual Studio
(3)添加Visual Studio环境变量
配置INCLUDE、LIB和Path
(4)打开工具,在工具中操作
编写代码,构建Native Image
(1)编写Java代码
public class Hello {
public static void main(String[] args) {
System.out.println("hello world");
}
}
(2)复制文件到目录,执行编译
(3)Native Image 进行构建
(4)查看构建的文件
(5)执行构建的文件
可以看到这个Hello最终打包产出的二进制文件大小为11M,这是包含了SVM和JDK各种库后的大小,虽然相比C/C++的二进制文件来说体积偏大,但是对比完整JVM来说,可以说是已经是非常小了。
相比于使用JVM运行,Native Image的速度要快上不少,cpu占用也更低一些,从官方提供的各类实验数据也可以看出Native Image对于启动速度和内存占用带来的提升是非常显著的:
分类:
SSM / Spring6
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析