私は読んでいます JEP 317 。 Graal(新しい実験的なJavaベースのJITコンパイラ)はJDK 10の一部になると書かれていますが、それはJDK 9ですでに利用可能であると書かれています。では、JEP317のポイントは何でしょうか。 Java 9にはGraalが含まれていますか?
私のメモの1つから、Linux-x64(すぐに使用可能)でJDK 9でGraalを使用するには、次を使用して有効にすることができます。
-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
ソース: クリスからのツイート 。
org.graalvm.*
クラスを明示的に使用する場合は、 ここではLinuxディストリビューション と JEP-317)を除いて、JDK-9ビルドには存在しません。 #Experimental JavaベースのJITコンパイラ のステータスも同様のものを読み取ります。
Status Integrated Scope JDK Release 10
Update:-JDK10でGraalを使用するには、次を使用して有効にすることができます:-
-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler -Djvmci.Compiler=graal
Graalは9に含まれていますが、使用方法が異なります。
In Java 9 GraalはAOT(Ahead of time)コンパイラとして使用され、ユーザーはjaotc
ツールを使用して手動でコンパイルされた.so
ライブラリを作成できます。
これらのライブラリは、JVMの起動時にロードして直接使用できます。
詳細な説明は、関連するJava 9 JEP: http://openjdk.Java.net/jeps/295
In Java 10 Graalは、JEP 317で説明されているように、HotSpotの代わりにJITコンパイラとして使用できます。
これは、事前に手動でコンパイルする必要がなく、クラスが「オンザフライ」でJVMでコンパイルされることを意味します。