⚡ GraalVM Cheatsheet Completo ⚡

GraalVM es una máquina virtual universal de alto rendimiento que extiende la JVM de Java. Permite ejecutar programas escritos en Java, JavaScript, Python, Ruby, R, WebAssembly, LLVM bitcode y otros lenguajes en un entorno de ejecución compartido. Su característica más destacada es su capacidad de compilar aplicaciones a ejecutables nativos (Ahead-of-Time compilation - AOT).


1. 🌟 Conceptos Clave


2. 🛠️ Configuración Inicial

  1. Descargar GraalVM:
    • GraalVM Community Edition (CE): Versión de código abierto, la más común. Descarga desde github.com/graalvm/graalvm-ce-builds/releases.
    • Oracle GraalVM: Versión comercial de Oracle, con características adicionales y soporte.
  2. Extraer y Configurar JAVA_HOME:
    • Descomprime el archivo y establece la variable de entorno JAVA_HOME a la ruta del directorio de GraalVM.
    • Añade JAVA_HOME/bin a tu variable de entorno PATH.
  3. Instalar Componentes Adicionales con gu (GraalVM Updater):
    • GraalVM viene con gu para añadir soporte a lenguajes o herramientas como Native Image.
    gu install native-image        # Para compilar ejecutables nativos
    gu install js                  # Para soporte JavaScript (Node.js, ECMAScript)
    gu install python              # Para soporte Python (GraalPy)
    gu install ruby                # Para soporte Ruby (TruffleRuby)
    gu install R                   # Para soporte R (FastR)
    gu install llvm                # Para ejecutar LLVM bitcode
    gu install wasm                # Para ejecutar WebAssembly
  4. Verificar Instalación:
    java -version           # Debería mostrar 'GraalVM'
    javac -version
    native-image --version  # Si lo instalaste
    js -v                   # Si instalaste js

3. 🚀 Características Clave y Uso

3.1. GraalVM como JDK de Alto Rendimiento (JIT Compilation)

3.2. Native Image (AOT Compilation)

3.3. Capacidades Políglotas (Truffle Framework)


4. ⚙️ Comandos Clave de la CLI


5. 📈 Beneficios Generales de GraalVM


6. ⚠️ Limitaciones y Consideraciones


7. 💡 Buenas Prácticas y Consejos


Este cheatsheet te proporciona una referencia completa de GraalVM, cubriendo sus conceptos esenciales, cómo configurarlo, sus capacidades clave (JIT, AOT, Políglota), herramientas de CLI y las mejores prácticas para construir aplicaciones de alto rendimiento y eficientes.