JavaRush /Java блог /Random /Oracle анонсировала универсальную виртуальную машину Graa...

Oracle анонсировала универсальную виртуальную машину GraalVM 1.0

Статья из группы Random
Oracle анонсировала новую виртуальную машину GraalVM 1.0. Она — универсальна, то есть подходит для для запуска приложений, написанных на многих популярных языках программирования. Среди них — JavaScript (Node.js), Python, Ruby, R, все JVM-языки (Java, Scala, Clojure, Kotlin), а также языки, для которых может формироваться биткод LLVM (это Cи, C++ и Rust). Код GraalVM 1.0 распространяется по лицензии GPLv2.
GraalVM 1.0
GraalVM 1.0 нужна для увеличения производительности выполнения кода и организации взаимодействия между кодом, написанным на разных языках. Вместе с GraalVM вы получаете общую среду выполнения и возможность обращаться к объектам и массивам из других языков. Например, из JavaScript-кода (Node.js) можно обращаться к библиотеке классов Java или из кода на Java вызывать функции обработки статистики на языке Python. Или запускать код на языке R для создания сложных SVG-графиков. Таким образом в проекте можно использовать несколько языков, ориентируясь не на сам инструмент, а на задачу. GraalVM можно применять для создания обособленных исполняемых приложений и как часть платформ, подобных OpenJDK и Node.js. Мало того, эту виртуальную машину можно встраивать в качестве движка обработки данных в СУБД, таких как MySQL и Oracle.
GraalVM 1.0
Для запуска приложений используется стандартизированное окружение на базе HotSpot JVM. В состав GraalVM входит JIT-компилятор, который быстро выполняет в JVM код любых скриптовых языков, включая JavaScript, Ruby, Python и R. Также машина позволяет запускать нативный код в JVM, преобразованный в биткод LLVM. Инструментарий системы включает в себя независимые от языков программирования отладчик, систему профилирования и анализатор распределения памяти. Для JVM-языков можно создавать скомпилированные нативные образы. Они выполняются напрямую с минимальным потреблением памяти: Сначала статический анализ выявляет весь код для выполнения основного Java-метода. Далее к нему применяется полноценная упреждающая компиляция (AOT).
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Jason Swon Уровень 33
24 апреля 2018
Это круто) такая машина даст второе дыхание всем кодерам менее популярных языков