Repolode
oracle

oracle/graal

GraalVM 是一个 Java 平台,可将应用提前编译为独立原生可执行文件,并可像普通 JDK 一样在 IDE 中使用。

Star
21,735
Fork
1,836
未关闭 Issue
895
最近提交
9小时前

这是什么?

GraalVM 将 Java 应用提前编译为独立的原生可执行文件,启动迅速,无需预热即可达到峰值性能,相比常规 JVM 运行占用的资源更少。它也可以像其他 JDK 一样在 IDE 中直接使用。

本仓库是项目的主源码树,包含多个组件:Graal 编译器、Native Image(SubstrateVM 提前编译框架)、基于 Truffle 运行 Java 字节码的 Espresso,以及 Truffle 语言实现框架。相关仓库提供 JavaScript(GraalJS)、Python(GraalPy)等语言实现,以及构建工具插件和用于配置 GraalVM 的 GitHub Action。

社区版按 GPL 2 加 Classpath 例外条款发布,其他组件分别采用 GPL 2、UPL 或 BSD 许可证。文档托管在 GraalVM 官网,源文件位于 docs 目录。

核心功能

  • 01通过 Native Image 将 Java 应用编译为独立的原生可执行文件。
  • 02启动快速,无需预热即可运行。
  • 03可在 IDE 中作为 JDK 直接使用。
  • 04包含 Graal 编译器和 Truffle 语言实现框架。
  • 05提供 Espresso 用于运行 Java 字节码。

适用场景

  • 构建需要快速启动和低内存占用的 Java 微服务或命令行工具。
  • 部署对冷启动时间敏感的 Serverless 或容器化应用。
  • 借助 Truffle 在 Java 应用中嵌入 JavaScript、Python 等语言。

快速上手

  1. 1

    从 GraalVM 官网下载页面获取 GraalVM,或按照官网入门指南操作

使用前须知

  • 各组件采用不同许可证:大多数使用带 Classpath 例外的 GPL 2,部分使用纯 GPL 2,其他组件使用 UPL 或 BSD。
  • 从源码构建 GraalVM 需要按照 vm/README.md 中的单独说明进行。

标签

常见问题

graal 是什么?
GraalVM 是一个 Java 平台,可将应用提前编译为独立原生可执行文件,并可像普通 JDK 一样在 IDE 中使用。 GraalVM 将 Java 应用提前编译为独立的原生可执行文件,启动迅速,无需预热即可达到峰值性能,相比常规 JVM 运行占用的资源更少。它也可以像其他 JDK 一样在 IDE 中直接使用。
graal 可以免费使用吗?用的什么许可证?
graal 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
graal 还在维护吗?
活跃维护中。graal 最近一次提交是在 2026年10月21日。
graal 适合用来做什么?
构建需要快速启动和低内存占用的 Java 微服务或命令行工具。 部署对冷启动时间敏感的 Serverless 或容器化应用。 借助 Truffle 在 Java 应用中嵌入 JavaScript、Python 等语言。
graal 怎么安装和运行?
从 GraalVM 官网下载页面获取 GraalVM,或按照官网入门指南操作
在哪里获取 graal?
源代码和安装说明在 GitHub 上:https://github.com/oracle/graal

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目