GraalVM
Тип | Java dynamic compiler and runtime |
---|---|
Розробник | Oracle Corporation |
Версії | GraalVM for JDK 22.0.1 (16 квітня 2024)[1] |
Нестабільний випуск | 19.2.0[2][3][4] (20 серпня, 2019 ) |
Платформа | Java Virtual Machine |
Операційна система | Linux, Windows, macOS[5] |
Мова програмування | Java |
Ліцензія | Community Edition: GPLv2[6][7] Enterprise Edition: Trialware |
Репозиторій | github.com/oracle/graal |
Вебсайт | www.graalvm.org |
GraalVM — розроблена корпорацією Oracle універсальна віртуальна машина, що підтримує запуск застосунків на JavaScript (Node.js), Python, Ruby, R, будь-якими мовами для JVM (Java, Scala, Clojure, Kotlin, з можливістю компіляції Java-коду в виконувані файли GraalVM Native Image) і мовами, для яких може формуватися біткод LLVM (C, C++, Rust).
Код проекту поширюється під ліцензією GPLv2. Одночасно випускаються реалізації мов Python, JavaScript, Ruby і R, що використовують GraalVM — GraalPython, GraalJS, TruffleRuby і FastR.
GraalVM надає JIT-компілятор, який може на льоту виконувати в JVM код будь-яких скриптових мов, включаючи JavaScript, Ruby, Python і R, а також дає можливість запускати нативний код в JVM, перетворений в біткод LLVM. Наданий GraalVM інструментарій включає незалежні від мов програмування зневаджувач, систему профілювання і аналізатор розподілу пам'яті. GraalVM дає можливість створювати комбіновані застосунки з компонентами на різних мовах, що дозволить отримувати доступ до об'єктів і масивів з коду на інших мовах. Для мов на базі JVM є можливість створення скомпільованих у машинний код виконуваних файлів, які можна виконувати безпосередньо з мінімальним споживанням пам'яті (управління пам'яттю і нитями реалізовано через підключення фреймворку Substrate VM [Архівовано 22 листопада 2019 у Wayback Machine.]).
- ↑ GraalVM for JDK 21
- ↑ GraalVM 19.2: New Tools. Oracle Corporation. Архів оригіналу за 26 серпня 2019. Процитовано 26 серпня 2019.
- ↑ Архівована копія. Архів оригіналу за 16 липня 2019. Процитовано 21 листопада 2019.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 3 червня 2019. Процитовано 21 листопада 2019.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 22 листопада 2019. Процитовано 21 листопада 2019.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ GraalVM FAQ. Архів оригіналу за 13 квітня 2020. Процитовано 25 квітня 2018. [Архівовано 2020-04-13 у Wayback Machine.]
- ↑ graal/README.md. Архів оригіналу за 22 жовтня 2021. Процитовано 25 квітня 2018.