Java 10: Desbloquear el Compilador JIT Experimental Graal
JEP 317 - Compilador JIT Experimental Basado en Java
El compilador JIT está escrito en C++ y se usa para convertir Java a Bytecode. Ahora Java 10 tiene la opción de habilitar un compilador JIT experimental basado en Java, Graal, para usarse en lugar del compilador JIT estándar. Graal usa JVMCI, la Interfaz del Compilador JVM, que se introdujo en Java 9. Graal está disponible en Java 9 también. Con Java 10, podemos habilitar Graal para probar y depurar el compilador JVM experimental.
Sintaxis
java -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler
El compilador Graal es una reescritura completa del compilador anterior basado en C++ y está dirigido a plataformas Linux/x64. Graal se introdujo en Java 9 como alternativa del compilador JIT actualmente en uso. Graal es un plugin para JVM y puede conectarse dinámicamente. También soporta interpretación de lenguajes políglotas.
Riesgos y Suposiciones
Como Graal es experimental y está sujeto a esfuerzo de prueba considerando varios Hotspots y pruebas de JDK con varias opciones de banderas. Puede fallar en algunos benchmarks de rendimiento comparado con los compiladores JIT Ahead of Time estándar.
Java
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
- Comentarios en Java: Tipos, Uso y Mejores Prácticas
- Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
- Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
- Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
- Aserciones en Java: Guía práctica para detectar bugs y asegurar fiabilidad del código
- Entendiendo Java Vector: Uso, Características y Comparación con ArrayList
- Java 10: Desbloquear el Compilador JIT Experimental Graal