GraalVM — это высокопроизводительный дистрибутив JDK, который заранее компилирует ваши Java-приложения в автономные двоичные файлы. Эти двоичные файлы запускаются мгновенно, обеспечивают максимальную производительность без прогрева и используют меньше ресурсов. Вы можете использовать GraalVM так же, как и любой другой комплект разработки Java в вашей IDE.
На веб-сайте проекта https://www.graalvm.org/ описано, как начать, как оставаться на связи и как внести свой вклад.
Пожалуйста, обратитесь к веб-сайту GraalVM для получения документации. Вы можете найти большинство источников документации в каталоге docs/ в той же иерархии, что и на веб-сайте. Дополнительную документацию, включая инструкции для разработчиков для отдельных компонентов, можно найти в соответствующих подкаталогах документации. Например, документация по фреймворку Truffle находится в truffle/docs/ . Это также относится к языкам, инструментам и другим компонентам, хранящимся в связанных репозиториях.
Этот исходный репозиторий является основным репозиторием GraalVM и включает в себя следующие компоненты:
Каталог | Описание |
---|---|
.devcontainer/ | Файлы конфигурации для контейнеров разработки GitHub. |
.github/ | Файлы конфигурации для проблем GitHub, рабочих процессов и т. д. |
compiler/ | Компилятор Graal — современный универсальный компилятор, написанный на Java. |
espresso/ | Espresso, метациклический интерпретатор байт-кода Java для GraalVM. |
regex/ | TRegex, механизм регулярных выражений для других языков GraalVM. |
sdk/ | GraalVM SDK, API GraalVM с долгосрочной поддержкой. |
substratevm/ | Платформа для предварительной компиляции (AOT) с помощью Native Image. |
sulong/ | Sulong — движок для запуска биткода LLVM на GraalVM. |
tools/ | Инструменты для языков GraalVM, реализованные с помощью инструментария. |
truffle/ | Платформа реализации языка GraalVM для создания языков и инструментов. |
visualizer/ | Ideal Graph Visualizer (IGV), инструмент для анализа графиков компилятора Graal. |
vm/ | Компоненты для сборки дистрибутивов GraalVM. |
wasm/ | GraalWasm — движок для запуска программ WebAssembly на GraalVM. |
GraalVM предоставляет дополнительные языки, инструменты и другие компоненты, разработанные в связанных репозиториях. Это:
Имя | Описание |
---|---|
ФастР | Реализация языка R. |
ГраальJS | Реализация JavaScript и Node.js. |
ГраальПи | Реализация языка Python. |
Демонстрации GraalVM | Несколько примеров приложений, иллюстрирующих возможности GraalVM. |
Собственные инструменты сборки | Создайте плагины инструментов для собственного образа GraalVM. |
ПростойЯзык | Простой пример языка, созданный с использованием фреймворка Truffle. |
Простой инструмент | Простой пример инструмента, созданный на базе Truffle. |
ТрюфельРубин | Реализация языка Ruby. |
GraalVM Community Edition имеет открытый исходный код и распространяется под лицензией GNU General Public License версии 2 с исключением «Classpath», которое соответствует тем же условиям, что и для Java. Лицензии отдельных компонентов GraalVM обычно являются производными от лицензии конкретного языка (см. таблицу ниже).
Компонент(ы) | Лицензия |
---|---|
Эспрессо, визуализатор идеальных графиков | Лицензия GPL 2 |
Компилятор GraalVM, SubstrateVM, инструменты, виртуальная машина | GPL 2 с исключением пути к классам |
GraalVM SDK, GraalWasm, Truffle Framework, TRegex | Универсальная разрешительная лицензия |
Сулонг | 3-пунктовый BSD |