java java-9 graalvm java-10

¿Java 9 incluye Graal?



java-9 graalvm (2)

Estoy leyendo JEP 317 . Dice que Graal (un nuevo compilador JIT experimental basado en Java) será parte de JDK 10, pero luego dice que ya está disponible en JDK 9. Entonces, ¿cuál es el punto de JEP 317? ¿Java 9 incluye Graal o no?


Desde uno de mis memos, en linux-x64 (listo para usar) para usar Graal en JDK 9, puede habilitarlo usando:

-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler

Fuente : Tweet de Chris .

Si está explícitamente dispuesto a hacer uso de las clases org.graalvm.* , No están presentes en la compilación JDK-9 a excepción de la distribución de Linux aquí y el estado del compilador JIT basado en Java experimental # JEP-317 # Lee algo similar.

Status Integrated Scope JDK Release 10

Actualización : - Para usar Graal en JDK10, se puede habilitar usando: -

-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler -Djvmci.Compiler=graal


Graal está incluido en 9 pero se usa de una manera diferente.

En Java 9, Graal se utiliza como un compilador AOT (de jaotc ) que permite a los usuarios utilizar la herramienta jaotc para crear bibliotecas .so compiladas manualmente.

Estas bibliotecas se pueden cargar al inicio de JVM y se pueden usar directamente.

Puede encontrar una descripción detallada en el JEP de Java 9 relacionado: http://openjdk.java.net/jeps/295

En Java 10 Graal, como se describe en JEP 317, se puede usar como compilador JIT en lugar de HotSpot.

Esto significa que las clases se compilarán en la JVM "sobre la marcha" en lugar de requerir una compilación manual de antemano.