GraalVM é uma distribuição JDK de alto desempenho que compila seus aplicativos Java antecipadamente em binários independentes. Esses binários iniciam instantaneamente, fornecem desempenho máximo sem aquecimento e usam menos recursos. Você pode usar GraalVM como qualquer outro kit de desenvolvimento Java em seu IDE.
O site do projeto em https://www.graalvm.org/ descreve como começar, como permanecer conectado e como contribuir.
Consulte o site do GraalVM para documentação. Você pode encontrar a maioria das fontes de documentação no diretório docs/ na mesma hierarquia exibida no site. Documentação adicional, incluindo instruções do desenvolvedor para componentes individuais, pode ser encontrada nos documentos/ subdiretórios correspondentes. A documentação do framework Truffle, por exemplo, está em trufa/docs/ . Isto também se aplica a linguagens, ferramentas e outros componentes mantidos em repositórios relacionados.
Este repositório fonte é o repositório principal do GraalVM e inclui os seguintes componentes:
Diretório | Descrição |
---|---|
.devcontainer/ | Arquivos de configuração para contêineres de desenvolvimento do GitHub. |
.github/ | Arquivos de configuração para problemas do GitHub, fluxos de trabalho,…. |
compiler/ | Compilador Graal, um compilador moderno e versátil escrito em Java. |
espresso/ | Espresso, um interpretador de bytecode Java metacircular para o GraalVM. |
regex/ | TRegex, um mecanismo de expressão regular para outras linguagens GraalVM. |
sdk/ | SDK do GraalVM, APIs do GraalVM com suporte de longo prazo. |
substratevm/ | Estrutura para compilação antecipada (AOT) com Native Image. |
sulong/ | Sulong, um mecanismo para executar bitcode LLVM no GraalVM. |
tools/ | Ferramentas para linguagens GraalVM implementadas com o framework de instrumentação. |
truffle/ | Estrutura de implementação de linguagem do GraalVM para criação de linguagens e ferramentas. |
visualizer/ | Ideal Graph Visualizer (IGV), uma ferramenta para analisar gráficos do compilador Graal. |
vm/ | Componentes para construção de distribuições GraalVM. |
wasm/ | GraalWasm, um mecanismo para executar programas WebAssembly no GraalVM. |
GraalVM fornece linguagens, ferramentas e outros componentes adicionais desenvolvidos em repositórios relacionados. Estes são:
Nome | Descrição |
---|---|
RápidoR | Implementação da linguagem R. |
Graal JS | Implementação de JavaScript e Node.js. |
GraalPy | Implementação da linguagem Python. |
Demonstrações GraalVM | Vários exemplos de aplicativos que ilustram os recursos do GraalVM. |
Ferramentas de construção nativas | Crie plug-ins de ferramentas para GraalVM Native Image. |
Linguagem Simples | Um exemplo simples de linguagem construída com a estrutura Truffle. |
Ferramenta Simples | Uma ferramenta de exemplo simples construída com a estrutura Truffle. |
TrufaRuby | Implementação da linguagem Ruby. |
GraalVM Community Edition é de código aberto e distribuído sob a versão 2 da GNU General Public License com a exceção “Classpath”, que são os mesmos termos do Java. As licenças dos componentes individuais do GraalVM são geralmente derivadas da licença de uma linguagem específica (veja a tabela abaixo).
Componente(s) | Licença |
---|---|
Espresso, visualizador gráfico ideal | GPL2 |
Compilador GraalVM, SubstrateVM, Ferramentas, VM | GPL 2 com exceção de caminho de classe |
GraalVM SDK, GraalWasm, Truffle Framework, TRegex | Licença Permissiva Universal |
Sulong | BSD de 3 cláusulas |