В этой статье слишком много ссылок на первоисточники . ( Сентябрь 2016 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Разработчики) | Команда Jikes RVM, участники [1] |
---|---|
Первый выпуск | 1999 |
Стабильный выпуск | 3.1.4 / 18 февраля 2016 г . |
Репозиторий | |
Написано в | Ява |
Операционная система | Unix-подобный |
Тип | Виртуальная машина Java , библиотека |
Лицензия | Общественная лицензия Eclipse |
Веб-сайт | www |
Виртуальная машина 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)
Ссылки [ править ]
- ^ "Команда Jikes RVM и участники" .
- ^ "FAQ" .
- ^ "Архивная копия" . Архивировано из оригинала на 2013-07-03 . Проверено 21 июня 2013 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ "Предложения проекта Jikes RVM 2009" .
- ^ "Научные статьи Jikes RVM" .
- ^ «Проект виртуальной машины Jikes Research: создание исследовательского сообщества с открытым исходным кодом» (PDF) . IBM Systems Journal . 44 (2). 2005 г.
Внешние ссылки [ править ]
- Официальный веб-сайт
- JikesRVM Github
- Руководство пользователя Jikes RVM
- Страница проекта Jikes RVM на SourceForge
- Тесты DaCapo
- ВАЛА