Джикс РВМ

виртуальная машина Java
Джикс РВМ
Разработчик(и)Команда Jikes RVM, участники [1]
Первоначальный выпуск1999 ; 26 лет назад ( 1999 )
Стабильный релиз
3.1.4 / 18 февраля 2016 г. ; 8 лет назад ( 2016-02-18 )
Репозиторий
  • github.com/JikesRVM/JikesRVM
Написано вЯва
Операционная системаUnix-подобный
Типвиртуальная машина Java , библиотека
ЛицензияПубличная лицензия Eclipse
Веб-сайтjikesrvm.org

Jikes Research Virtual Machine ( Jikes RVM ) — это зрелая виртуальная машина , которая запускает программы, написанные для платформы Java . В отличие от большинства других виртуальных машин Java (JVM), она написана на языке программирования Java , в стиле реализации, называемом мета-циклическим . Это бесплатное программное обеспечение с открытым исходным кодом , выпущенное под лицензией Eclipse Public License .

История

  • Ноябрь 1997 года: проект «Халапеньо» стартовал как внутренний исследовательский проект в исследовательском центре имени Томаса Дж. Уотсона компании IBM . [2]
  • 1999, 2000 гг. — исследователи IBM публикуют исследовательские работы, описывающие новые аспекты Jikes RVM, и нескольким университетам предоставляется доступ к исходному коду .
  • 2001 Октябрь, Jikes RVM версии 2 выпущен как проект модели с открытым исходным кодом под лицензией Common Public License . Релиз поддерживает архитектуры PowerPC и Intel, а также ряд различных алгоритмов сборки мусора .
  • 2002 г. — выпущен Jikes RVM 2.2 с точными сборщиками мусора, которые теперь преобразованы в популярные точные сборщики Memory Management Toolkit .
  • 2004 г. — выпущен Jikes RVM 2.4 с улучшенной стабильностью и производительностью, в частности, с особым упором на работу с Eclipse.
  • 2007 г. — начинается разработка Jikes RVM 2.9 с обширной переработкой кодовой базы для использования возможностей Java 5.0 и использования системы сборки Apache Ant .
  • 2008 год — выпуск Jikes RVM 3.0, ознаменовавший завершение разработки версии 2.9 и повышение стабильности кодовой базы.
  • 2009 год — Jikes RVM 3.1 выпущен под лицензией Eclipse Public License (EPL) со значительными улучшениями производительности по сравнению с версией 3.0.1 и переходом на собственную многопоточность .
  • В 2012 году Jikes RVM выиграл награду Ассоциации вычислительной техники (ACM) за программное обеспечение, разработанное Специальной группой по языкам программирования ( SIGPLAN ), за «высокое качество и модульную конструкцию». [3]

Бутстрап

Будучи мета-циклическим , 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 годов.

Смотрите также

Ссылки

  1. ^ «Команда Jikes RVM и участники».
  2. ^ "Часто задаваемые вопросы".[ постоянная мертвая ссылка ‍ ]
  3. ^ "2012: Jikes Research Virtual Machine (RVM) | SIGPLAN". Архивировано из оригинала 2013-07-03 . Получено 2013-06-21 .
  4. ^ "Jikes RVM Project Proposals 2009". Архивировано из оригинала 2013-04-13 . Получено 2015-04-23 .
  5. ^ "Исследовательские работы Jikes RVM".
  6. ^ "Проект Jikes Research Virtual Machine: Создание исследовательского сообщества с открытым исходным кодом" (PDF) . IBM Systems Journal . 44 (2). 2005.
  • Официальный сайт
  • JikesRVM Гитхаб
  • Руководство пользователя Jikes RVM
  • Страница проекта Jikes RVM на SourceForge
  • Тесты DaCapo
  • ВАЛА
Взято с "https://en.wikipedia.org/w/index.php?title=Jikes_RVM&oldid=1268122897"