GraalVM
![]() | |
| Тип | Java dynamic compiler and runtime |
|---|---|
| Розробник | Oracle Corporation |
| Нестабільний випуск | 19.2.0[1][2][3] (20 серпня, 2019) |
| Платформа | Java Virtual Machine |
| Операційна система | Linux, Windows, macOS[4] |
| Мова програмування | Java |
| Ліцензія | Community Edition: GPLv2[5][6] Enterprise Edition: Trialware |
| Онлайн-документація | graalvm.org/latest/docs/ |
| Репозиторій | 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 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.
