GraalVM概要
GraalVMは、Javaアプリケーションを事前にスタンドアロン・バイナリにコンパイルします。これらのバイナリは小さく、最大100倍高速に起動し、ウォームアップなしで最高のパフォーマンスを提供し、Java仮想マシン(JVM)で実行されるアプリケーションよりも少ないメモリーとCPUを使用します。
GraalVMは、アプリケーションの攻撃対象領域を減らします。未使用のクラス、メソッドおよびフィールドはアプリケーション・バイナリから除外されます。リフレクションおよびその他の動的Java言語機能がビルド時のみに制限されます。実行時に不明なコードはロードされません。
Spring Boot、Micronaut、Helidon、Quarkusなどの一般的なマイクロサービス・フレームワーク、およびOracle Cloud Infrastructure、Amazon Web Services、Google Cloud Platform、Microsoft Azureなどのクラウド・プラットフォームは、すべてGraalVMをサポートしています。
プロファイルに基づく最適化およびG1(ガベージ・ファースト)ガベージ・コレクタにより、Java仮想マシン(JVM)で実行されるアプリケーションと比較して、レイテンシが低く、ピーク・パフォーマンスとスループットが同等かそれ以上となります。
IDEの他のJava Development Kitと同様に、GraalVM JDKを使用できます。
ライセンスおよびサポート
Oracle GraalVMは、GraalVM Free Terms and Conditions (GFTC) including License for Early Adopter Versionsに基づいてライセンスされます。GFTCは、「License for Early Adopter Versions」を含むライセンスの条件に従うことを条件に、商業活動や生産に従事するユーザーなど、すべてのユーザーに対し使用を許可することを目的としています。再配布は有料でない限り許可されます。Oracle GraalVMはOracle Cloud Infrastructureでも無料でご利用いただけます。Oracle GraalVMライセンスの詳細は、「Oracle Java SEライセンスに関するFAQ」を参照してください。
GraalVM Community Editionは、GitHub上で使用可能なソースからビルドされたオープン・ソース・ソフトウェアであり、GNU General Public License version 2 with the Classpath Exceptionに基づいて配布されます(Javaの条項と同じ)。個々のGraalVMコンポーネントのライセンスを確認してください。これは通常、特定の言語のライセンスから派生しますが、異なる場合もあります。
次に読むもの
インストール・ガイドに従って、GraalVMのインストールを開始します。
GraalVMを初めて使用する場合も、使用経験がほとんどない場合も、スタート・ガイドに進んでください。
その後、ユーザー・ガイドを参照してください。
GraalVMおよびネイティブ・イメージの使用経験のある開発者は、リファレンス・マニュアルに進んで詳細な説明を確認できます。
GraalVM APIを使用してコーディングを開始するには、GraalVM SDK Java APIリファレンスを参照してください。
入手可能なドキュメントで必要な答えが見つからない場合、またはトラブルシューティングに関する質問がある場合は、Slackのチャンネルで助けを求めたり、GitHubのイシューを送信できます。