GraalVM

GraalVM
Тип Java dynamic compiler and runtime
Розробник Oracle Corporation
Версії 19.3.0 (20 листопада 2019)[1] і 23.0.0 (13 червня 2023)[2]
Нестабільний випуск 19.2.0[3][4][5] (20 серпня, 2019; 4 роки тому (2019-08-20))
Платформа Java Virtual Machine
Операційна система Linux, Windows, macOS[6]
Мова програмування Java
Ліцензія Community Edition: GPLv2[7][8] 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.]).

Виноски

  1. Release 19.3.0 — 2019.
  2. GraalVM JDK 20)
  3. GraalVM 19.2: New Tools. Oracle Corporation. Архів оригіналу за 26 серпня 2019. Процитовано 26 серпня 2019.
  4. Архівована копія. Архів оригіналу за 16 липня 2019. Процитовано 21 листопада 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  5. Архівована копія. Архів оригіналу за 3 червня 2019. Процитовано 21 листопада 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  6. Архівована копія. Архів оригіналу за 22 листопада 2019. Процитовано 21 листопада 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  7. GraalVM FAQ. Архів оригіналу за 13 квітня 2020. Процитовано 25 квітня 2018.
  8. graal/README.md. Архів оригіналу за 22 жовтня 2021. Процитовано 25 квітня 2018.

Посилання

  • Офіційний сайт