Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

История [ править ]

  • 1997 ноябрь, проект Jalapeño начинается в качестве внутреннего исследовательского проекта IBM «s Thomas J. Watson Research Center . [2]
  • 1999, 2000, исследовательские работы, описывающие новые аспекты Jikes RVM, публикуются исследователями IBM, и нескольким университетам предоставляется доступ к исходному коду .
  • 2001 Октябрь, Jikes RVM версии 2 выпущен как проект с открытым исходным кодом под Общей общественной лицензией . Релиз поддерживает архитектуры 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 получила награду Специальной группы по языкам программирования ( SIGPLAN ) Ассоциации вычислительной техники (ACM) за программное обеспечение за «высокое качество и модульный дизайн». [3]

Bootstrap [ править ]

Поскольку Jikes RVM является мета- циклом, для создания загрузочного образа требуется загрузочная JVM. Загрузочный образ - это представление объектов, которые Jikes RVM требует для загрузки, созданных с использованием отражения в JVM начальной загрузки. Небольшой загрузчик C отвечает за загрузку загрузочного образа во время выполнения.

VM Magic [ править ]

VM Magic - это место, где компилятор генерирует код для класса, отличный от того, который должен выполнять байт-код внутри этого класса. Классы VM Magic обеспечивают прямой доступ к памяти и являются ключом к производительности Memory Management Toolkit. Классы VM Magic находятся в пакете org.vmmagic и повторно использовались в других проектах Java.

Набор средств управления памятью [ править ]

Набор инструментов управления памятью (MMTk) - это набор точных сборщиков мусора, которые использовались в Jikes RVM и других проектах, таких как операционная система Singularity и общая языковая инфраструктура с общим исходным кодом (SSCLI, ранее называвшаяся Rotor). [4] Как и в случае с остальной частью Jikes RVM, реализация находится на Java , но в основном зависит от VM Magic.

Библиотеки классов [ править ]

Либо Apache Harmony или GNU Classpath класс библиотека может быть использована с Jikes РВМ, с экспериментальной поддержкой OpenJDK библиотек классов «s.

Компиляторы [ править ]

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.

См. Также [ править ]

  • Jikes
  • Список виртуальных машин Java
  • Бесплатные реализации Java
  • Начальная загрузка (компиляторы)
  • Самостоятельный хостинг
  • Самостоятельный переводчик
  • PyPy (реализация Python в Python)
  • Рубиниус (реализация Ruby в Ruby)

Ссылки [ править ]

  1. ^ "Команда Jikes RVM и участники" .
  2. ^ "FAQ" .
  3. ^ "Архивная копия" . Архивировано из оригинала на 2013-07-03 . Проверено 21 июня 2013 .CS1 maint: заархивированная копия как заголовок ( ссылка )
  4. ^ "Предложения проекта Jikes RVM 2009" .
  5. ^ "Научные статьи Jikes RVM" .
  6. ^ «Проект виртуальной машины Jikes Research: создание исследовательского сообщества с открытым исходным кодом» (PDF) . IBM Systems Journal . 44 (2). 2005 г.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • JikesRVM Github
  • Руководство пользователя Jikes RVM
  • Страница проекта Jikes RVM на SourceForge
  • Тесты DaCapo
  • ВАЛА