Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能

2023年6月15日

オラクルは、同社がJavaディストリビューションとして提供しているGraalVMの新ライセンス「GraalVM Free Terms and Conditions」(GFTC)を発表し、あわせてこれまで有償版のGraalVMに含まれていた全ての機能を含む新ディストリビューション「Oracle GraalVM」の提供を開始しました。

GFTCでは、これまで有償版のGraalVMで提供してきた最適化コンパイラやG1ガベージコレクションなどを含むすべての機能が無料で利用可能となり、本番環境での利用も許諾されます。

より高速なJavaのネイティブバイナリ生成が可能に

GraalVMは、Oracle JDKやOpenJDKとは別にオラクルが開発し提供してきたJavaのディストリビューションです。

Javaのアプリケーションコードを事前コンパイルしてネイティブバイナリを生成する機能を備えていること、Java以外にJavaScript、Python、Ruby、Rなど多言語対応のランタイムを備えていることを大きな特徴としています。

特にJavaネイティブバイナリの生成機能は注目されており、昨年(2022年)10月にはこのコンパイル機能を含むGraalVMのJava関連コードがOpenJDKコミュニティに寄贈されることが発表されたことで、今後OpenJDKにもネイティブバイナリを生成するJavaの事前コンパイラが実装されていくのではないかと期待されています。

参考:[速報]オラクル、OpenJDKコミュニティにGraalVM CEのJava関連コードを寄贈すると発表。JavaOne 2022

今回、新しいディストリビューションとなったOracle GraalVMには、有料版のGraalVM Enterprise Editionにのみ含まれていたコンパイル時にプロファイルを基にした高度な最適化を行う機能、ガベージコレクションによるアプリケーションの動作を最小限にするG1ガベージコレクション機能、実行時のメモリ使用量を小さく出来るオブジェクトヘッダやポインタの圧縮機能、プロファイル情報の機械学習による推論機能、SBOMサポートなどが加わりました。

これにより、新しいGraalVMを用いて生成したJavaのネイティブバイナリイメージでは、従来のJITや無料版GraalVMを用いたネイティブバイナリと比較しても、より高速に起動し実行されるJavaネイティブバイナリイメージが生成できると説明されています。

下記はSpring Boot 3の起動にかかる時間を比較したもので、一番右の最新のGraalVMによるネイティブバイナリのイメージが圧倒的に高速であることが示されています。

fig

今回リリースされたGraalVMはJDK 17とJDK 20に対応しています。今後は最新のJavaバージョンに合わせてアップデートされていく見通しです。

あわせて読みたい

Java プログラミング言語 GraalVM Oracle




タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本