GraalVM !拥抱云原生的 JVM
这是2024年初的 GraalVM 系列博文,当时写了大纲,知道一年半后的现在才得以完成发布😄
概述
我计划针对GraalVM写一个系列的文章,初步大纲:
- GraalVM!拥抱云原生的 JVM
- 在JVM跑JavaScript脚本 | FaaS架构简单实现
GraalVM 简介
GraalVM 是一款基于 Java 虚拟机 (JVM) 的新型全栈虚拟机,由 Oracle 公司开发和维护。GraalVM 除了支持 Java 语言之外,还支持多种编程语言,如 JavaScript、Python、Ruby、R 等。主要特点是:
- 高性能:GraalVM 基于 JIT (Just-in-time) 编译技术,在运行时动态生成本地代码,可以显著提高程序的性能。
- 多语言支持:GraalVM 支持多种编程语言,并可以在不同的语言之间进行互操作。
- 低内存占用:GraalVM 使用了一种名为 GraalVM Native Image 的技术,可以将应用程序编译成本地可执行文件,从而减少内存占用和启动时间。
- 可扩展性:GraalVM 提供了多种插件和扩展点,可以方便地扩展虚拟机的功能和性能。
- GraalVM 还提供了多种工具和库,如 GraalVM Compiler、GraalVM Truffle、GraalVM Polyglot 等,可以帮助开发人员更好地使用和优化 GraalVM。
时隔一年半,GraalVM 官网界面也发生了变化(见下图),github 收藏数增加了近 1000(涨幅不算大😂)。
近两年 GraalVM 主要版本发布一览
时间 | 类型 | 发布版本 |
---|---|---|
2023-09-19 | Feature | GraalVM for JDK 21(LTS) |
2023-10-24 | CPU | JDK 23.0.1 |
2024-01-16 | CPU | JDK 17.0.10 / 21.0.2 |
2024-03-19 | Feature | GraalVM for JDK 22 |
2024-04-16 | CPU | JDK 22.0.1 / 21.0.3 / 17.0.11 |
2024-07-16 | CPU | JDK 22.0.2 / 21.0.4 / 17.0.12 |
2024-09-17 | Feature | GraalVM for JDK 23 |
2024-10-15 | CPU | JDK 23.0.1 / 21.0.5 / 17.0.13 |
2025-01-21 | CPU | JDK 23.0.2 / 21.0.6 / 17.0.14 |
2025-03-18 | Feature | GraalVM for JDK 24 |
2025-04-15 | CPU | JDK 24.0.1 / 21.0.7 / 17.0.15 |
2025-07-15 | CPU | JDK 24.0.2 / 21.0.8 / 17.0.16 |
安装GraalVM
GraalVM 的安装方式比较简单,可以分成 直接下载压缩包 和 通过包管理器安装 两大类。
1. 直接下载(官方推荐方式)
-
访问 GraalVM 官网:
- 社区版(Community Edition):https://www.graalvm.org/downloads/
- Oracle 版(Oracle GraalVM):https://www.oracle.com/downloads/graalvm-downloads.html
-
选择你的 操作系统(Windows / macOS / Linux)和 JDK 版本(17、21、最新等)。
-
下载对应的 压缩包(
.zip
或.tar.gz
)。 -
解压到一个固定目录(例如
C:\graalvm
或/opt/graalvm
)。 -
配置环境变量(仅供参考):
# Linux / macOS export GRAALVM_HOME=/opt/graalvm/graalvm-ce-java21-24.0.2 export PATH=$GRAALVM_HOME/bin:$PATH# Windows PowerShell setx GRAALVM_HOME "C:\graalvm\graalvm-ce-java21-24.0.2" setx PATH "%GRAALVM_HOME%\bin;%PATH%"
2. 通过包管理器安装
macOS(Homebrew)
brew install --cask graalvm/tap/graalvm-ce-java21
Linux(SDKMAN!)
curl -s "https://get.sdkman.io" | bash
sdk install java 21.0.2-graal
Windows(Scoop)
scoop bucket add java
scoop install graalvm-ce-java21
3. 可选组件安装
GraalVM 自带 JVM,可以安装额外的语言和工具,例如 native-image
:
gu install native-image
验证安装
java -version
看到输出带有 GraalVM
就表示安装成功。
参考资料
- 快速带你了解JDK9~JDK17新特性