Разработчик(и) | Команда Jikes RVM, участники [1] |
---|---|
Первоначальный выпуск | 1999 ( 1999 ) |
Стабильный релиз | 3.1.4 / 18 февраля 2016 г. ( 2016-02-18 ) |
Репозиторий |
|
Написано в | Ява |
Операционная система | Unix-подобный |
Тип | виртуальная машина Java , библиотека |
Лицензия | Публичная лицензия Eclipse |
Веб-сайт | jikesrvm.org |
Jikes Research Virtual Machine ( 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 и Shared Source 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 годов.