GraalVM は、Java アプリケーションを事前にスタンドアロン バイナリにコンパイルする高性能 JDK ディストリビューションです。これらのバイナリは即座に起動し、ウォームアップなしで最高のパフォーマンスを提供し、使用するリソースが少なくなります。 GraalVM は、IDE 内の他の Java 開発キットと同様に使用できます。
プロジェクトの Web サイト (https://www.graalvm.org/) には、開始方法、接続を維持する方法、および貢献方法が説明されています。
ドキュメントについては、GraalVM Web サイトを参照してください。ほとんどのドキュメント ソースは、Web サイトに表示されているのと同じ階層の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/ | ネイティブ イメージを使用した事前 (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 の実装。 |
グラルパイ | Python 言語の実装。 |
GraalVM デモ | GraalVM の機能を示すいくつかのサンプル アプリケーション。 |
ネイティブビルドツール | GraalVM Native Image 用のツール プラグインを構築します。 |
シンプル言語 | Truffle フレームワークで構築された簡単なサンプル言語。 |
シンプルツール | Truffle フレームワークで構築された簡単なサンプル ツール。 |
トリュフルビー | Ruby 言語の実装。 |
GraalVM Community Edition はオープン ソースであり、Java と同じ条件である「クラスパス」例外を含む GNU 一般公衆利用許諾書のバージョン 2 に基づいて配布されます。個々の GraalVM コンポーネントのライセンスは、通常、特定の言語のライセンスから派生したものです (以下の表を参照)。
コンポーネント | ライセンス |
---|---|
Espresso、理想的なグラフ ビジュアライザー | GPL 2 |
GraalVM コンパイラ、SubstrateVM、ツール、VM | クラスパス例外を含む GPL 2 |
GraalVM SDK、GraalWasm、Truffle フレームワーク、TRegex | ユニバーサルパーミッションライセンス |
スロン | 3 節 BSD |