Виртуальная машина Jikes Research ( Jikes RVM ) — это зрелая виртуальная машина , на которой выполняются программы, написанные для платформы Java . В отличие от большинства других виртуальных машин Java (JVM), она написана на языке программирования Java в стиле реализации, называемом метациклическим . Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное под лицензией Eclipse Public License .
Будучи метациклическим , Jikes RVM требует запуска JVM для создания загрузочного образа. Загрузочный образ — это представление объектов, которые Jikes RVM требует для загрузки, созданное с использованием отражения в загрузочной JVM. Небольшой загрузчик C отвечает за загрузку загрузочного образа во время выполнения.
VM Magic — это когда компилятор генерирует для класса код, отличный от того, который должны выполнять байт-коды внутри этого класса. Классы VM Magic обеспечивают прямой доступ к памяти и являются ключом к производительности Memory Management Toolkit. Классы VM Magic находятся в пакете org.vmmagic и повторно используются в других проектах Java.
Memory Management Toolkit (MMTk) — это набор точных сборщиков мусора, которые использовались в Jikes RVM и других проектах, таких как операционная система Singularity и Common Language Infrastructure с общим исходным кодом (SSCLI, ранее называвшаяся Rotor). [4] Как и остальная часть Jikes RVM, реализация находится на Java , но основная зависимость — от VM Magic.
С Jikes RVM можно использовать библиотеки классов Apache Harmony или GNU Classpath с экспериментальной поддержкой библиотеки классов OpenJDK .
Jikes RVM использует быстрый базовый компилятор для быстрой генерации кода для заданной архитектуры. Адаптивная компиляция затем перекомпилирует код с помощью оптимизирующего компилятора с такими функциями, как замена в стеке (OSR). Адаптивная система расчета использует модель анализа затрат и выгод.
Среда выполнения Jikes RVM имеет множество инновационных функций, включая механизмы быстрой блокировки, совместного планирования и поддержку быстрого сбора и отправки исключений.
Jikes RVM поддерживает архитектуры процессоров с набором инструкций PowerPC (или ppc) и IA-32 (или Intel x86, 32-разрядный) .
Поскольку это исследовательский проект, Jikes RVM уделяет особое внимание исследованию новых технологий, о чем свидетельствуют созданные им научные публикации – более 220 статей по состоянию на 2015 год. [5] [6]
Jikes RVM также принимал участие в Google Summer of Code 2007, 2008, 2010, 2011 и 2012 гг.