概要
Oracle GraalVMは、ネイティブ・イメージを事前にコンパイルした高度なJDKです。
Oracle GraalVMは、アプリケーションのパフォーマンスを高めると同時にリソースの消費を削減します。つまり、アプリケーションの効率性を高め、ITコストを削減します。これは、Javaアプリケーションを事前にネイティブ・バイナリにコンパイルすることで実現されます。このバイナリは小さく、最大100倍高速に起動し、ウォームアップなしで最高のパフォーマンスを提供し、Java仮想マシン(JVM)で実行されるアプリケーションよりも少ないメモリーとCPUを使用します。プロファイルに基づく最適化およびG1 (ガベージ・ファースト)ガベージ・コレクタにより、JVMで実行されるアプリケーションと比較して、レイテンシが低く、ピーク・パフォーマンスとスループットが同等かそれ以上となります。
主な利点
Oracle GraalVMの主な利点は次のとおりです:
- 低リソース使用: Oracle GraalVMによって事前にコンパイルされたJavaアプリケーションでは、実行に必要なメモリーおよびCPUが少なくなります。ジャスト・イン・タイムのコンパイルにメモリーとCPUサイクルが費やされることはありません。その結果、アプリケーションの実行に必要なリソースが少なくなり、大規模な運用のコストが低くなります。
- 高速起動: Oracle GraalVMを使用すると、Javaアプリケーションの一部を実行時ではなくビルド時に初期化することでアプリケーションをより迅速に起動でき、ウォームアップなしで予測されたピーク・パフォーマンスを即座に達成できます。
- コンパクトなパッケージング: Oracle GraalVMによって事前にコンパイルされたJavaアプリケーションは小さいため、軽量のコンテナ・イメージに簡単にパッケージ化して、迅速かつ効率的にデプロイできます。
- セキュリティの向上: Oracle GraalVMは、到達不可能なコード(未使用のクラス、メソッドおよびフィールド)、ジャストインタイム・コンパイル・インフラストラクチャおよびビルド時初期化コードを除外することで、Javaアプリケーションの攻撃対象領域を減らします。Oracle GraalVMの閉世界仮説により、リフレクション、シリアライズなどの動的機能を実行時に無効にすることで、アプリケーションが不明なコードをロードできなくなり、ビルド時にそのようなクラス、メソッドおよびフィールドの明示的なインクルード・リストが必要になります。Oracle GraalVMは、バイナリにソフトウェア部品表(SBOM)を埋め込むことができるため、一般的なセキュリティ・スキャナを使用して、公開されている共通脆弱性(CVE)についてJavaアプリケーションを簡単にチェックできます。
- クラウド・ネイティブ・マイクロサービスの簡単なビルド: Micronaut、Spring Boot、Helidon、Quarkusなどの一般的なマイクロサービス・フレームワーク、およびOracle Cloud Infrastructure (OCI)、Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Microsoft Azureなどのクラウド・プラットフォームは、すべてOracle GraalVMをサポートしています。これにより、バイナリとしてコンパイルされ、小規模なコンテナにパッケージ化され、最も一般的なクラウド・プラットフォームで実行されるクラウド・ネイティブJavaマイクロサービスを簡単にビルドできます。
- Pythonおよびその他の言語でのJavaアプリケーションの拡張: Oracle GraalVMを使用すると、Python、JavaScriptなどの言語を埋め込み、Javaアプリケーションを拡張できます。
- 既存の開発およびモニタリング・ツールの使用: 既存のJavaアプリケーション開発およびモニタリング・ツールは、アプリケーション・バイナリと連携します。Oracle GraalVMは、MavenおよびGradleのビルド・プラグインと、CI/CDのGitHubアクションを提供します。Oracle GraalVMは、Javaフライト・レコーダ(JFR)、Java Management Extensions (JMX)、ヒープ・ダンプ、VisualVMおよびその他のモニタリング・ツールをサポートしています。Oracle GraalVMは、既存のJavaエディタ/IDEおよびJUnitなどのユニット・テスト・フレームワークと連携します。
次に読むもの
- インストール・ガイドに従って、Oracle GraalVMのインストールを開始します。
- Oracle GraalVMおよびネイティブ・イメージを初めて使用する場合も、使用経験がほとんどない場合も、ネイティブ・イメージのスタート・ガイドに進んでください。
- Oracle GraalVMがすでにインストールされている、または使用経験のある開発者は、リファレンス・マニュアルに進んで詳細を確認してください。