Oracle GraalVMスタート・ガイド
Oracle GraalVMは、Javaアプリケーションを事前にスタンドアロン・バイナリにコンパイルします。これは即座に起動し、ウォームアップなしでピーク・パフォーマンスを提供し、使用するリソースが少なくなります。
ここでは、Oracle GraalVMのインストールと、それを使用した基本アプリケーションの実行に関する情報を示します。
Oracle GraalVMを初めて利用する場合は、「GraalVM概要」から始めることをお薦めします。ここでは、GraalVMの利点、使用可能なディストリビューション、サポートされているプラットフォーム、機能サポートおよびライセンスに関する情報がわかります。
Oracle GraalVMがすでにインストールされ、使用経験がある場合は、このページをスキップして、詳細なリファレンス・マニュアルに進むことができます。
Oracle GraalVMの入手方法
Oracle GraalVMは次の方法で入手できます:
- Oracle Javaダウンロードからのダウンロード。
- Oracle Java SE SubscriptionおよびOracle Java SE Desktop Subscriptionをサブスクライブします。サブスクリプションには、Oracle GraalVMへのアクセス権が含まれています。
- Oracle Cloudをサブスクライブします。Oracle Cloudサブスクライバは、サポートを含め、Oracle GraalVMを無料で使用できます。
オペレーティング・システムを選択し、特定のプラットフォームのインストール・ステップに進みます:
アプリケーションの実行の開始
Oracle GraalVMのコア・ディストリビューションには、Java Development Kit (JDK)、ジャストインタイム・コンパイラ(Graalコンパイラ)、ネイティブ・イメージなどが含まれます。IDEの他のJDKと同様にGraalVM JDKを使用できるため、Oracle GraalVMをインストールすると、任意のJavaアプリケーションをそのまま実行できます。
java
ランチャは、Graalを最終層のコンパイラとしてJVMを実行します。インストールされているJavaバージョンを確認します:
$JAVA_HOME/bin/java -version
GraalVMネイティブ・イメージを使用すると、Javaバイトコードをプラットフォーム固有の自己完結型のネイティブ実行可能ファイルにコンパイルして、アプリケーションの起動を高速化し、フットプリントを縮小できます。
この最も単純なHelloWorld.javaアプリケーションをバイトコードにコンパイルしてから、ネイティブ実行可能ファイルをビルドします:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
javac HelloWorld.java
native-image HelloWorld
最後のコマンドは、現在の作業ディレクトリにhelloworldという名前の実行可能ファイルを生成します。これを呼び出すと、ネイティブにコンパイルされたHelloWorld
クラスのコードが次のように実行されます:
./helloworld
Hello, World!
ノート: コンパイルについては、
native-image
はローカル・ツールチェーンに依存します。システムが前提条件を満たしていることを確認します。
次に読むもの
新規ユーザー
「ネイティブ・イメージの基本」に進み、テクノロジについて徐々に学んでください。GraalVMネイティブ・イメージの知識はあるが、使用経験はほとんどないユーザーの場合は、ユーザー・ガイドに進みます。
Graalコンパイラの詳細は、コンパイラのドキュメントを参照してください。より大きなJavaの例は、GitHubのGraalVMデモ・リポジトリにあります。
Oracle Cloudユーザー
クラウド・ワークロードにOracle GraalVMを検討しているOracle Cloudユーザーは、OCI上のOracle GraalVMに関する項を参照することをお薦めします。このページでは、Oracle Cloud Infrastructureコンピュート・インスタンスでのOracle GraalVMの使用に焦点を当てています。
上級ユーザー
GraalVMの経験が豊富な開発者や、GraalVMでさらに多くのことを希望する開発者は、リファレンス・マニュアルに直接進んで詳細なドキュメントを参照してください。
GraalVMのセキュリティ・モデルの詳細は「セキュリティ・ガイド」、リッチAPIドキュメントはOracle GraalVM Java APIのリファレンスを参照してください。
GraalVMチームのブログも確認することをお薦めします。