在 Linux 上安装和配置 GraalVM
本文最后更新于 2024年5月3日 13:28
GraalVM 是一个高性能的通用虚拟机,支持 Java、JavaScript、Python、Ruby、R、WebAssembly 等多种语言。通过它你可以将 Java 程序编译成本地二进制文件,大大提高程序的启动速度和运行效率。本文介绍如何在 Linux 系统上安装配置 GraalVM.
截止到文章发布时,GraalVM 仍没有在 Debian 和 Archlinux 的官方仓库中发布,不能直接通过包管理器安装,需要我们手动下载。而 GraalVM 的 Community Edition 版本,是 GraalVM 的开源版本,与 OpenJDK 类似。本文将其作为 GraalVM 演示。
1. 下载 GraalVM
访问 GraalVM Community’s builds 下载页面,选择你需要的 JDK 版本。截止到文章发布时,最新的 JDK LTS 版本是 21.
使用 wget 命令下载压缩包,我选择 GraalVM for JDK 21 Community 21.0.2 的压缩包下载:
1 | |
如果下载速度过慢可以考虑使用镜像站下载。
2. 解压 GraalVM
下载完成后,解压你下载的 GraalVM:
1 | |
将解压出的文件夹重命名为 java-21-graalvm:
1 | |
将 java-21-graalvm 移至 /usr/lib/jvm 目录:
1 | |
3. 配置环境变量
编辑 /etc/profile 文件,添加 GraalVM 的环境变量。
1 | |
在文件末尾添加如下内容,将 GRAALVM_HOME 和 JAVA_HOME 设置为你的 GraalVM 安装路径:
1 | |
使配置生效:
1 | |
4. 查看 GraalVM 版本
查看 GraalVM 的 OpenJDK 和 native-image 版本。
1 | |
输出如下:
1 | |
5. 使用 GraalVM 编译 Java 程序
5.1 编译 Java 程序
新建一个 Java 文件 HelloWorld.java,内容如下:
1 | |
首先使用 javac 编译 Hello.java,生成 HelloWorld.class 文件:
1 | |
然后使用 native-image 将 HelloWorld.class 文件编译成本地二进制文件:
1 | |
执行编译后的二进制文件:
1 | |
输出 Hello, GraalVM! 则表示 GraalVM 安装成功。
5.2 编译 SpringBoot 项目
同样的,你也可以对 SpringBoot 项目进行编译,提高启动速度和运行效率。
首先将 SpringBoot 项目打包成 jar 文件
- idea 可以点击左侧
clean–>package直接打包, - 或者使用
maven命令打包:
1 | |
然后使用 native-image 将 jar 文件编译成本地二进制文件:
1 | |
执行编译后的二进制文件:
1 | |
参考文章: