Джайкс РВМ
Разработчик(и) | Команда Jikes RVM, участники [ 1 ] |
---|---|
Первоначальный выпуск | 1999 год |
Стабильная версия | 3.1.4
/ 18 февраля 2016 г |
Репозиторий | |
Написано в | Ява |
Операционная система | Unix-подобный |
Тип | Виртуальная машина Java , библиотека |
Лицензия | Публичная лицензия Eclipse |
Веб-сайт | jikesrvm.org |
Виртуальная машина Jikes Research ( 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 и Common Language Infrastructure с общим исходным кодом (SSCLI, ранее называвшаяся Rotor). [ 4 ] Как и у остальных Jikes RVM, реализация находится на Java , но основная зависимость — от VM Magic.
Библиотеки классов
[ редактировать ]С Apache Harmony или GNU Classpath классов библиотеки Jikes RVM можно использовать 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 гг.
См. также
[ редактировать ]- Джайкс
- Список виртуальных машин Java
- Бесплатные реализации Java
- Начальная загрузка (компиляторы)
- Самостоятельный хостинг
- Самопереводчик
- PyPy (реализация Python на Python)
- Rubinius (реализация Ruby в Ruby)
Ссылки
[ редактировать ]- ^ «Команда Jikes RVM и участники» .
- ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ" .
- ^ «2012: Виртуальная машина Jikes Research (RVM) | SIGPLAN» . Архивировано из оригинала 3 июля 2013 г. Проверено 21 июня 2013 г.
- ^ «Предложения по проектам Jikes RVM 2009» .
- ^ «Исследовательские работы Jikes RVM» .
- ^ «Проект Jikes Research Virtual Machine: создание исследовательского сообщества с открытым исходным кодом» (PDF) . IBM Systems Journal . 44 (2). 2005.