graal
1.0.0
GraalVM 是一个高性能 JDK 发行版,可提前将 Java 应用程序编译成独立的二进制文件。这些二进制文件立即启动,无需预热即可提供峰值性能,并且使用更少的资源。您可以像 IDE 中的任何其他 Java 开发工具包一样使用 GraalVM。
项目网站 https://www.graalvm.org/ 介绍了如何开始、如何保持联系以及如何做出贡献。
请参阅 GraalVM 网站以获取文档。您可以在docs/目录中找到大多数文档源,其层次结构与网站上显示的层次结构相同。其他文档(包括各个组件的开发人员说明)可以在相应的docs/子目录中找到。例如,Truffle 框架的文档位于truffle/docs/中。这也适用于相关存储库中维护的语言、工具和其他组件。
该源存储库是 GraalVM 的主存储库,包含以下组件:
目录 | 描述 |
---|---|
.devcontainer/ | GitHub 开发容器的配置文件。 |
.github/ | GitHub 问题、工作流程等的配置文件。 |
compiler/ | Graal 编译器,一种用 Java 编写的现代多功能编译器。 |
espresso/ | Espresso,GraalVM 的元循环 Java 字节码解释器。 |
regex/ | TRegex,其他 GraalVM 语言的正则表达式引擎。 |
sdk/ | GraalVM SDK,GraalVM长期支持的API。 |
substratevm/ | 使用 Native Image 进行提前 (AOT) 编译的框架。 |
sulong/ | Sulong,一个在 GraalVM 上运行 LLVM 位代码的引擎。 |
tools/ | 使用检测框架实现的 GraalVM 语言工具。 |
truffle/ | GraalVM 用于创建语言和工具的语言实现框架。 |
visualizer/ | Ideal Graph Visualizer (IGV),一种用于分析 Graal 编译器图的工具。 |
vm/ | 用于构建 GraalVM 发行版的组件。 |
wasm/ | GraalWasm,一个用于在 GraalVM 上运行 WebAssembly 程序的引擎。 |
GraalVM 提供了在相关存储库中开发的其他语言、工具和其他组件。这些都是:
姓名 | 描述 |
---|---|
快速R | R语言的实现。 |
GraalJS | JavaScript 和 Node.js 的实现。 |
格雷尔Py | Python语言的实现。 |
GraalVM 演示 | 几个展示 GraalVM 功能的示例应用程序。 |
本机构建工具 | 为 GraalVM Native Image 构建工具插件。 |
简单语言 | 使用 Truffle 框架构建的简单示例语言。 |
简单工具 | 使用 Truffle 框架构建的简单示例工具。 |
松露红宝石 | Ruby 语言的实现。 |
GraalVM 社区版是开源的,并根据 GNU 通用公共许可证第 2 版(“类路径”例外)进行分发,这些条款与 Java 的条款相同。各个 GraalVM 组件的许可证通常是特定语言许可证的衍生品(见下表)。
成分) | 执照 |
---|---|
Espresso,理想的图形可视化工具 | 通用公共许可证2 |
GraalVM 编译器、SubstrateVM、工具、VM | 带有类路径异常的 GPL 2 |
GraalVM SDK、GraalWasm、Truffle 框架、TRegex | 通用许可 |
苏龙 | 3 子句 BSD |