- 编译器
- JIT编译
- 语言运行时
- 高性能计算
- 内存管理
【免费下载链接】graal
GraalVM compiles applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀
Oracle GraalVM 以「创新版本线(innovation release)」为基础,每月发布 feature release,用于预览新特性并收集早期反馈,待成熟后再纳入未来的 LTS 版本。本文以官方支持文档 docs/oracle-graalvm/support.md 为核心骨架,完整梳理 Oracle GraalVM 的发布节奏、可用发行版、经认证的 Linux/macOS/Windows 平台矩阵、相关语言运行时以及 GFTC 许可条款,并结合当前仓库中的文档与源码,帮助你在选型、部署与合规评估时快速核对「你的平台是否受支持」「该用哪个发行版」「能否用于生产与再分发」。
Oracle GraalVM 的发布节奏与版本线
Oracle GraalVM 采用双版本线并行的发布策略,其核心机制在支持文档中明确如下:
- 创新版本线(innovation release):Oracle GraalVM 每月在该版本线上发布一次 feature release,目的是预览新能力并收集早期反馈,这些新特性会先在 innovation release 中接受真实使用场景的检验。
- LTS(长期支持)版本线:经过 innovation release 验证并成熟的功能,才会被纳入未来的 LTS 版本。
也就是说,若你希望第一时间试用最新特性(如新的编译器优化、新的 GC 集成、新增平台支持),应跟踪 innovation release 的月度 feature release;若你的生产环境追求稳定与长期维护,则应关注未来基于创新版本线沉淀而来的 LTS 版本。
发布节奏要点:feature releases 每月发布一次;具体计划发布日期以 Oracle GraalVM 官方发布日历为准。当前仓库的文档体系同样体现了「版本线与 feature release」的表述,例如容器镜像文档中以 GraalVM 25.3+ 为例描述了
JDK 特性版本 + i + GraalVM feature release 号的镜像标签规则(详见 docs/getting-started/container-images/oracle-graalvm-container-images.md)。
可用发行版(Available Distributions)
Oracle GraalVM innovation release 的**可用发行版(下载形态)**按操作系统与 CPU 架构划分,当前支持矩阵如下:
| 操作系统 | 支持架构 |
|---|---|
| Linux | x64、AArch64 |
| Windows | x64 |
| macOS | AArch64 |
要点解读:
- x64 架构:覆盖 Linux 与 Windows 平台。
- AArch64(ARM 64 位)架构:覆盖 Linux 与 macOS 平台。
- 需要注意,Windows 与 macOS 在架构覆盖上并不对称:Windows 目前仅提供 x64 发行版,macOS 目前仅提供 AArch64 发行版。
这一「可用发行版」定义与仓库中的**从源码构建(GraalVM CE)**路径相互印证:构建 CE 版本所依赖的构建环境同样覆盖 Linux(gcc 12.2 / devtoolset 12)、macOS(Sonoma + Xcode 15)与 Windows(Visual Studio 2022 17.13)等平台(详见 vm/README.md)。如果你所在的平台不在上表内,仍可参考该文档自行从源码构建定制发行版,但需自行承担环境适配工作。
认证平台(Certified Platforms)
「可用发行版」解决的是能不能下载运行的问题,而「认证平台」进一步回答了哪些操作系统版本经过官方认证的问题。Oracle GraalVM innovation release 在以下平台上通过了认证:
Linux
| 平台 | 支持的 CPU 架构 |
|---|---|
| Oracle Linux 10 | AArch64, x64 |
| Oracle Linux 9 | AArch64, x64 |
| Oracle Linux 8 | AArch64, x64 |
| Red Hat Enterprise Linux 10 | AArch64, x64 |
| Red Hat Enterprise Linux 9 | AArch64, x64 |
| Red Hat Enterprise Linux 8 | AArch64, x64 |
| Ubuntu Linux 24.10 | x64 |
| Ubuntu Linux 24.04 LTS | x64 |
macOS
| 平台 | 支持的 CPU 架构 |
|---|---|
| macOS 26 | AArch64 |
| macOS 15 | AArch64 |
| macOS 14 | AArch64 |
| macOS 13 | AArch64 |
Windows
| 平台 | 支持的 CPU 架构 |
|---|---|
| Windows Server 2025 | x64 |
| Windows Server 2022 | x64 |
| Windows Server 2019 | x64 |
| Windows Server 2016 | x64 |
| Windows 11 | x64 |
| Windows 10 | x64 |
使用建议:
- 生产部署前请对照上表核验:将应用运行在未经认证的操作系统版本/架构组合上时,Oracle 不提供同等程度的认证保障,可能出现未覆盖的兼容性问题。
- Linux 生态中,Oracle Linux 与 Red Hat Enterprise Linux 均覆盖全部主流大版本(8/9/10)且同时支持 AArch64 与 x64,是云原生与服务器场景下的典型选择;Ubuntu 则目前仅认证 x64 架构。
- macOS 认证版本均仅支持 AArch64(Apple Silicon),Intel Mac(x64)不在认证之列。
- Windows 侧全部认证版本均为 x64 架构,涵盖从 Windows 10 / Server 2016 到 Windows 11 / Server 2025 的跨度。
仓库中同样可以找到「认证平台」概念在容器镜像场景的延伸:Oracle GraalVM 容器镜像发布在 Oracle Container Registry,并随镜像附带 GFTC 许可(详见 docs/getting-started/container-images/oracle-graalvm-container-images.md)。也就是说,容器化部署时镜像所基于的宿主平台同样应落在上述认证矩阵内。
相关技术:面向 Oracle GraalVM 的开源语言运行时
Oracle GraalVM 的核心价值之一是多语言(polyglot)运行时。支持文档指出:面向 Oracle GraalVM innovation release 设计使用的其他开源语言运行时同样可用,例如:
- Espresso:在 GraalVM 上运行 Java 的运行时,其实现源码位于 espresso/src/com.oracle.truffle.espresso。
- GraalWasm:WebAssembly 运行时,源码位于 wasm/src。
- 以及 GraalJS、GraalPy 等其他语言运行时(相关生态说明见 docs/reference-manual/languages.md)。
从源码结构可以进一步推断:这些语言运行时均构建在Truffle 语言实现框架之上(框架源码位于 truffle/src/com.oracle.truffle.api),并遵循统一的 suite 构建体系(各语言的suite.py,例如 wasm/mx.wasm)。借助这些运行时,你可以在一个 Java 应用中嵌入 Python、JavaScript 等语言,实现跨语言调用,这是 Oracle GraalVM 区别于普通 JDK 的关键能力之一。
说明:如果你需要的是**面向社区版(GraalVM Community Edition)**的语言运行时清单与构建方式,可参见 vm/README.md 中关于
mx、suite 与mx --env ce build的完整从源码构建流程。
许可条款:GraalVM Free Terms and Conditions(GFTC)
Oracle GraalVM 依据GraalVM Free Terms and Conditions(GFTC),包括 Early Adopter 版本许可(License for Early Adopter Versions)授权使用,许可要点如下:
- 适用范围:在许可条款(包括 Early Adopter 版本许可条款)的约束下,GFTC允许任何用户使用,包括商业用途与生产环境使用。
- 再分发:允许再分发(redistribution),前提是不得收费(as long as it is not for a fee)。
- 该许可表述与仓库内多处文档一致:例如 docs/introduction.md 在「Licensing and Support」一节给出了完全相同的 GFTC 条款描述;容器镜像、Native Image 相关指南(如 docs/reference-manual/native-image/guides/containerise-native-executable-with-docker.md)也均标注了 GFTC 许可。
Oracle GraalVM 与社区版(CE)的许可差异
需要区分的是,Oracle GraalVM(本文支持文档所描述的对象)与GraalVM Community Edition是两条不同的分发线:
- Oracle GraalVM:受 GFTC 条款约束,允许商业与生产使用、允许不收费的再分发,如上所述。
- GraalVM Community Edition(CE):基于本仓库(oracle/graal)源码构建的开源项目,依据GPL v2 with Classpath Exception(与 Java 相同的许可条款)分发,详见 LICENSE 与 docs/introduction.md。CE 的从源码构建方式见 vm/README.md。
因此,在评估「能否将 GraalVM 用于商业项目 / 能否随产品再分发」时,请先确认你使用的是 Oracle GraalVM 发行版还是社区版,再对照对应的许可文件;不同 GraalVM 组件的许可可能因语言而异,应以各组件的许可声明为准。
如何验证你的环境:安装与快速运行
在确认平台与许可合规后,可以按以下步骤快速验证环境(完整流程见 docs/getting-started/get-started.md):
- 安装:根据平台选择对应的安装指南——Linux、macOS、Windows。
- 验证 JDK 版本:
java -versionOracle GraalVM 内置 JDK 与 Graal JIT 编译器,
java启动器以 Graal 作为最后一层编译器运行 JVM,可像使用普通 JDK 一样直接运行 Java 应用。 - 用 Native Image 编译并运行原生可执行文件:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }javac HelloWorld.java native-image HelloWorld ./helloworld生成的
helloworld为当前平台的原生可执行文件。注意native-image依赖本机工具链,请先确认系统满足 Native Image 前置条件。
总结
本文围绕 Oracle GraalVM 官方支持文档,完整呈现了以下关键信息:
- 发布节奏:innovation release 每月发布 feature release 预览新特性,成熟后纳入未来 LTS 版本;
- 可用发行版:Linux(x64/AArch64)、Windows(x64)、macOS(AArch64)三大平台的架构覆盖;
- 认证平台矩阵:Linux(Oracle Linux / RHEL 8/9/10、Ubuntu 24.x)、macOS(13–26,AArch64)、Windows(10/11 与 Server 2016–2025,x64)的完整认证清单;
- 相关技术:面向 Oracle GraalVM 的 Truffle 系开源语言运行时生态;
- 许可合规:GFTC(含 Early Adopter 版本许可)允许商业与生产使用、允许不收费再分发,并与社区版 CE 的 GPL v2 with Classpath Exception 明确区分。
对于计划在生产环境部署 Oracle GraalVM 的团队,建议以此文为核对清单:先查认证平台矩阵,再确认发行版架构匹配,最后核对 GFTC 许可条款,确保选型、部署与分发全程合规。更深入的功能细节可继续阅读 docs/oracle-graalvm/overview.md 与 docs/reference-manual/reference-manuals.md。
- 编译器
- JIT编译
- 语言运行时
- 高性能计算
- 内存管理
【免费下载链接】graal
GraalVM compiles applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀
相关推荐
Leaflet DVF核心组件揭秘:Markers、ChartMarkers与DataLayer实战教程
Leaflet DVF核心组件揭秘:Markers、ChartMarkers与DataLayer实战教程 Leaflet Data Visualization
前端UI库/组件big-AGI 部署认证指南:HTTP Basic Auth 与云平台认证方案详解
big AGI 部署认证指南:HTTP Basic Auth 与云平台认证方案详解 big AGI 是一个开箱即用的 AI 套件,但 默认不内置任何用户认证机制
AI 应用大模型前端零知识认证开源许可证解析:zkp-hmac-communication-python使用条款与限制
零知识认证开源许可证解析:zkp hmac communication python使用条款与限制 你是否在使用零知识证明(Zero Knowledge Pro
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考