Разработчики: | Oracle |
Дата премьеры системы: | апрель 2018 г |
Отрасли: | Информационные технологии |
Технологии: | Виртуализация |
Содержание |
2019: Исправление 3 уязвимостей
17 октября 2019 года стало известно, что компания Oracle исправила 219 опасных уязвимостей в разных линейках продуктов. GraalVM (виртуальная машина) получила 3 исправления. Подробнее здесь.
2018: Выход GraalVM
В апреле 2018 года американский производитель корпоративного программного обеспечения Oracle представил универсальную виртуальную машину GraalVM. Она поддерживает различные языки программирования и обеспечивает согласованную производительность приложений, обширный набор инструментальных средств и гибкое конфигурирование.
GraalVM может использоваться для запуска приложений, написанных на JavaScript (Node.js), Python, Ruby, R, любых языках для JVM (Java, Scala, Clojure, Kotlin) и языках, для которых может формироваться биткод LLVM (C, C++, Rust).
В Oracle отмечают, что большинство виртуальных машин, доступных к апрелю 2018 года, поддерживают только определенные языки или очень ограниченный набор языков. Компиляция, управления памятью и настройка поддерживаются отдельно для разных языков, нарушая принцип DRY (Don’t repeat yourself — не повторяйся), что добавляет проблем пользователям ВМ, говорится в сообщении Oracle.
GraalVM позволяет использовать объекты и массивы из других языков, убирая изоляцию между языками и предоставляя общий runtime. Например, этот инструмент позволит коду Node.js получить доступ к функциям библиотеки Java или вызвать подпрограмму Python из Java. Благодаря этой гибкости программисты смогут использовать любой язык, который, по их мнению, лучше всего подходит для выполняемой задачи, пояснили в компании.Опыт и перспективы использования российских СУБД в крупных организациях: результаты исследования TAdviser
GraalVM включает независимые от языков программирования отладчик, систему профилирования и анализатор распределения памяти. Виртуальная машина может использоваться как для создания обособленных исполняемых приложений, так и как часть платформ, подобных OpenJDK и Node.js, или даже встраиваясь как движок обработки данных в СУБД, таких как MySQL и Oracle. Для запуска приложений предлагается стандартизированное окружение для выполнения на базе HotSpot JVM.[1]
Примечания
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)