当前位置: 首页 > 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.lryc.cn/news/617458.html

相关文章:

  • foreach 块并行加速
  • docker compose和docker-compose命令的区别
  • 力扣164:最大间距
  • 大数据系统架构模式:驾驭海量数据的工程范式
  • React(四):事件总线、setState的细节、PureComponent、ref
  • LeetCode 2438.二的幂数组中查询范围内的乘积:模拟(前缀和可选)
  • C++项目实战(日期类的实现)
  • MFC C++ 使用ODBC方式调用Oracle数据库的详细步骤
  • 重学React(五):脱围机制一
  • 金蝶云星辰:赋能企业数据管理
  • spring boot 整合redis教程
  • 带简易后台管理的米表系统 域名出售系统 自适应页面
  • 帝国理工学院团队研发:Missense3D-PTMdb—— 解析遗传变异与翻译后修饰的交互式工具
  • 计算机网络---交换机
  • 套接字技术、视频加载技术、断点续传技术
  • Horse3D引擎研发笔记(四):在QtOpenGL下仿three.js,封装EBO绘制四边形
  • 2025 年国内可用 Docker 镜像加速器地址
  • Rust面试题及详细答案120道(19-26)-- 所有权与借用
  • 《基于Pytorch实现的声音分类 :网页解读》
  • YOLOv8 训练报错:PyTorch 2.6+ 模型加载兼容性问题解决
  • 【JavaEE】(12) 创建一个 Sring Boot 项目
  • 第二届机电一体化、机器人与控制系统国际会议(MRCS 2025)
  • 34-Hive SQL DML语法之查询数据-3
  • 2025世界机器人大会,多形态机器人开启商业化落地浪潮
  • [4.2-2] NCCL新版本的register如何实现的?
  • GAI 与 Tesla 机器人的具体联动机制
  • 记录一下通过STC的ISP软件修改stc32的EEPROM值大小
  • VoxCraft-生数科技推出的免费3D模型AI生成工具
  • uni-app app端安卓和ios如何申请麦克风权限,唤起提醒弹框
  • 设计模式笔记_结构型_组合模式