Sag*_*gar 5 java jvm java-9 graalvm java-11
我的JVM有-server选择,我相信它使JVM能够使用C2编译器,该编译器旨在用于服务器应用程序,该服务器应用程序的运行时间通常比客户端运行时间更长。但是,GRAAL JIT(由启用-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler)旨在替换C2,即使我同时提供以下两个选项,我的JVM也会启动。
-server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
最终使用哪个编译器?JIT还是C2?
那-server只是被忽略了,例如阅读这个答案。你可以做的是运行一些额外的命令:
java -XX:+UnlockExperimentalVMOptions
-XX:+EnableJVMCI
-XX:+UseJVMCICompiler
-Dgraal.ShowConfiguration=info // this
-XX:+EagerJVMCI // and this matters
Run Code Online (Sandbox Code Playgroud)
结果将包含:
Using Graal compiler configuration 'community' .....
Run Code Online (Sandbox Code Playgroud)