GraalVM es una distribución JDK de alto rendimiento que compila sus aplicaciones Java con anticipación en archivos binarios independientes. Estos archivos binarios se inician instantáneamente, brindan el máximo rendimiento sin calentamiento y utilizan menos recursos. Puede utilizar GraalVM como cualquier otro kit de desarrollo de Java en su IDE.
El sitio web del proyecto en https://www.graalvm.org/ describe cómo comenzar, cómo mantenerse conectado y cómo contribuir.
Consulte el sitio web de GraalVM para obtener documentación. Puede encontrar la mayoría de las fuentes de documentación en el directorio docs/ en la misma jerarquía que se muestra en el sitio web. Puede encontrar documentación adicional que incluye instrucciones para desarrolladores para componentes individuales en los documentos/ subdirectorios correspondientes. La documentación para el marco Truffle, por ejemplo, se encuentra en truffle/docs/ . Esto también se aplica a lenguajes, herramientas y otros componentes mantenidos en repositorios relacionados.
Este repositorio de origen es el repositorio principal de GraalVM e incluye los siguientes componentes:
Directorio | Descripción |
---|---|
.devcontainer/ | Archivos de configuración para contenedores de desarrollo de GitHub. |
.github/ | Archivos de configuración para problemas de GitHub, flujos de trabajo,…. |
compiler/ | Compilador Graal, un compilador moderno y versátil escrito en Java. |
espresso/ | Espresso, un intérprete de código de bytes Java metacircular para GraalVM. |
regex/ | TRegex, un motor de expresiones regulares para otros lenguajes GraalVM. |
sdk/ | GraalVM SDK, API compatibles a largo plazo de GraalVM. |
substratevm/ | Marco para la compilación anticipada (AOT) con Native Image. |
sulong/ | Sulong, un motor para ejecutar código de bits LLVM en GraalVM. |
tools/ | Herramientas para lenguajes GraalVM implementadas con el marco de instrumentación. |
truffle/ | Marco de implementación de lenguajes de GraalVM para crear lenguajes y herramientas. |
visualizer/ | Ideal Graph Visualizer (IGV), una herramienta para analizar gráficos del compilador Graal. |
vm/ | Componentes para construir distribuciones GraalVM. |
wasm/ | GraalWasm, un motor para ejecutar programas WebAssembly en GraalVM. |
GraalVM proporciona lenguajes, herramientas y otros componentes adicionales desarrollados en repositorios relacionados. Estos son:
Nombre | Descripción |
---|---|
RápidoR | Implementación del lenguaje R. |
GraalJS | Implementación de JavaScript y Node.js. |
GraalPy | Implementación del lenguaje Python. |
Demostraciones de GraalVM | Varias aplicaciones de ejemplo que ilustran las capacidades de GraalVM. |
Herramientas de compilación nativas | Cree complementos de herramientas para GraalVM Native Image. |
lenguaje simple | Un lenguaje de ejemplo simple creado con el marco Truffle. |
Herramienta simple | Una herramienta de ejemplo sencilla creada con el marco Truffle. |
TrufaRubí | Implementación del lenguaje Ruby. |
GraalVM Community Edition es de código abierto y se distribuye bajo la versión 2 de la Licencia Pública General GNU con la excepción "Classpath", que son los mismos términos que para Java. Las licencias de los componentes individuales de GraalVM generalmente se derivan de la licencia de un idioma en particular (consulte la tabla a continuación).
Componentes | Licencia |
---|---|
Espresso, visualizador de gráficos ideal | GPL 2 |
Compilador GraalVM, SubstrateVM, Herramientas, VM | GPL 2 con excepción Classpath |
SDK de GraalVM, GraalWasm, Truffle Framework, TRegex | Licencia permisiva universal |
Sulong | BSD de 3 cláusulas |