当前位置: 首页 > news >正文

GraalVM !拥抱云原生的 JVM

这是2024年初的 GraalVM 系列博文,当时写了大纲,知道一年半后的现在才得以完成发布😄

概述

我计划针对GraalVM写一个系列的文章,初步大纲:

  1. GraalVM!拥抱云原生的 JVM
  2. 在JVM跑JavaScript脚本 | FaaS架构简单实现

GraalVM 简介

2024年官网截图
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(涨幅不算大😂)。

2025年8月官网截图

近两年 GraalVM 主要版本发布一览

时间类型发布版本
2023-09-19FeatureGraalVM for JDK 21(LTS)
2023-10-24CPUJDK 23.0.1
2024-01-16CPUJDK 17.0.10 / 21.0.2
2024-03-19FeatureGraalVM for JDK 22
2024-04-16CPUJDK 22.0.1 / 21.0.3 / 17.0.11
2024-07-16CPUJDK 22.0.2 / 21.0.4 / 17.0.12
2024-09-17FeatureGraalVM for JDK 23
2024-10-15CPUJDK 23.0.1 / 21.0.5 / 17.0.13
2025-01-21CPUJDK 23.0.2 / 21.0.6 / 17.0.14
2025-03-18FeatureGraalVM for JDK 24
2025-04-15CPUJDK 24.0.1 / 21.0.7 / 17.0.15
2025-07-15CPUJDK 24.0.2 / 21.0.8 / 17.0.16

安装GraalVM

GraalVM 的安装方式比较简单,可以分成 直接下载压缩包通过包管理器安装 两大类。


1. 直接下载(官方推荐方式)

  1. 访问 GraalVM 官网:

    • 社区版(Community Edition):https://www.graalvm.org/downloads/
    • Oracle 版(Oracle GraalVM):https://www.oracle.com/downloads/graalvm-downloads.html
  2. 选择你的 操作系统(Windows / macOS / Linux)和 JDK 版本(17、21、最新等)。

  3. 下载对应的 压缩包.zip.tar.gz)。

  4. 解压到一个固定目录(例如 C:\graalvm/opt/graalvm)。

  5. 配置环境变量(仅供参考):

    # 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新特性
http://www.dtcms.com/a/325327.html

相关文章:

  • AI驱动的智能编码革命:从Copilot到全流程开发自动化
  • 2024年ESWA SCI1区TOP,自适应种群分配和变异选择差分进化算法iDE-APAMS,深度解析+性能实测
  • SysTick定时器的工作原理是什么
  • 在Linux中模拟配置高性能web服务器
  • docker compose和docker-compose命令的区别
  • 【数据可视化-86】中国育儿成本深度可视化分析(基于《中国统计年鉴2023》数据):用Python和pyecharts打造炫酷可视化大屏
  • linux常见故障 实用故障系列文章-2获取挂掉的进程pid
  • Linux kernel network stack, some good article
  • AI模型服务接入WAF防火墙
  • WebSocket-java篇
  • 有序矩阵中第K小的元素+二分查找
  • 矩阵游戏(二分图最大匹配)
  • Spring Boot 菜单删除功能的实现与事务管理
  • 数据结构——树(02构造二叉树,代码练习)
  • 《解锁 C++ 进阶密码:引用补充与内联函数、nullptr 核心用法》
  • 爬虫与数据分析实战
  • Notepad++ 插件开发实战:从理念到落地的探索
  • libwebsockets 服务端获取过代理的真实连接IP
  • windows上RabbitMQ 启动时报错:发生系统错误 1067。 进程意外终止。
  • 编程技能:递归
  • leetcode 438. 找到字符串中所有字母异位词 -java
  • C语言:指针(3)
  • docker集群
  • 【图像处理基石】PCA图像压缩与还原:基于OpenCV的Lena图实验
  • 02Vue3
  • 想冲华为AI认证,怎么选方向?
  • 大模型落地:AI 技术重构工作与行业的底层逻辑
  • Selenium元素定位不到原因以及怎么办?
  • 编译Android版本可用的高版本iproute2
  • AI 健康管家:重构健康管理的未来图景