Виртуальная машина Максин - Maxine Virtual Machine
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Оригинальный автор (ы) | Бернд Матиск, Дуглас Саймон |
---|---|
Разработчики) | Университет Манчестера, команда Maxine |
изначальный выпуск | 2005 |
Стабильный выпуск | 2.9.0[1] / 20 декабря 2019 г. |
Репозиторий | |
Написано в | Ява |
Операционная система | Солярис, Linux, macOS |
Платформа | x64, ARM32, AArch64, RISC-V |
Тип | Виртуальная машина Java |
Лицензия | GPL версия 2.0 |
Интернет сайт | github |
В Максин виртуальная машина с открытым исходным кодом виртуальная машина который разработан в Манчестерском университете.[2] Ранее он был разработан Лаборатории Sun Microsystems,[3] с тех пор переименован в Oracle Labs. Акцент в Максин программная архитектура посвящен модульной конструкции и повторному использованию кода для обеспечения гибкости, настраиваемости и производительности для промышленных и академических исследователей виртуальных машин. Это один из растущего числа Виртуальные машины Java полностью написан на Java в мета-круговой стиль. Примеры включают Пронзительный крик и Jikes RVM.
Архитектура
Виртуальная машина Maxine внутренне характеризуется агрессивным использованием расширенных языковых функций в Java 1.5 и 1.6, модульными подсистемами, координируемыми через интерфейсы Java, отсутствием устный переводчик, а также тесно связанным отладчиком и визуализацией инструмент для разработки ВМ.
Совместимость
Максин совместимый с вилкой с неизмененным Комплект для разработки Java (JDK). Maxine можно разрабатывать, строить и запускать на стандартной Java интегрированные среды разработки (IDE), включая NetBeans, Затмение, и IntelliJ IDEA.
Системное программирование на Java
Второй целью проекта является разработка методов и инструментов для «системного программирования на Java». Компилятор расширения, настроенные в ВМ исходный код с помощью Аннотации Java, разрешить использование без потери производительности низкоуровневых операций, которые иначе были бы запрещены в Java. Эти расширения послужили основой для Компилятор Graal.
Максин инспектор
Специализированная поддержка отладки для виртуальной машины Maxine обеспечивается Maxine Inspector: сопутствующим инструментом, который действует как комбинированный обозреватель объектов, классов и методов, а также как отладчик на уровне машины и байт-кода.[4]Инспектор работает вне процесса, не требует активной поддержки виртуальных машин и использует код, совместно используемый виртуальной машиной, для специализированных служб разработчика, которые используют подробные знания структуры памяти и конструкции виртуальных машин.[5]Известные услуги включают:
- несколько режимов просмотра кода[6] (источник, байт-код,[7] дизассемблированный машинный код[8]) с многорежимными точками останова[9] и шагать;
- нить,[10] куча,[11] регистр,[12] и проверка локальной переменной потока;
- гибкая визуализация низкоуровневой памяти[13] с динамической интерпретацией и связыванием значений памяти, например как места кода, ссылки на объекты;
- динамическая визуализация полей объекта и метаданных;[14]
- детали конфигурации загрузочного образа;[15] и
- специализированная поддержка алгоритмов для отладки во время сборки мусора.
История
Максин был создан Берндом Матиске в Sun Labs в начале 2005 года. Он руководил его развитием в растущей команде до конца 2008 года, когда он ушел. Sun Microsystems и передал проект Дагу Саймону, который был первым инженером, присоединившимся к нему. Дуг Саймон продолжал исполнять эту роль на протяжении всего приобретения Sun компанией Корпорация Oracle.
Статическая (проверка кучи) версия Maxine Inspector была создана Берндом Матиске в 2006 году. Майкл Ван Де Вантер взял на себя разработку Inspector в 2007 году, добавив динамическую поддержку по мере того, как виртуальная машина стала исполняемой и продолжала развиваться на протяжении всего приобретения Sun компанией Корпорация Oracle.
Oracle продолжала разработку Maxine до выпуска Maxine 2.0.[16] Манчестерский университет разрабатывает Maxine начиная с версии 2.1.[17]
Смотрите также
Рекомендации
Примечания
- ^ https://github.com/beehive-lab/Maxine-VM/blob/master/CHANGELOG.md
- ^ Wimmer et al. 2013, п. 1.
- ^ «Oracle Labs - О компании». Labs.oracle.com. Получено 2017-06-25.
- ^ "Проект Максин: Инспектор Максин". community.oracle.com. Получено 2019-04-08.
- ^ «Знакомство с Maxine Inspector (Демо)». youtube.com. Получено 2019-04-08.
- ^ "Мини-демонстрация Maxine Inspector 6 из 10 (2008 г.): Мультикодовые представления методов". youtube.com. Получено 2019-04-08.
- ^ «Мини-демонстрация Maxine Inspector 5 из 10 (2008): Дизассемблированный байт-код». youtube.com. Получено 2019-04-08.
- ^ "Мини-демонстрация Maxine Inspector 4 из 10 (2008): Машинный код в разобранном виде". youtube.com. Получено 2019-04-08.
- ^ «Мини-демонстрация Maxine Inspector 10 из 10 (2008): точки останова». youtube.com. Получено 2019-04-08.
- ^ "Мини-демонстрация Maxine Inspector 7 из 10 (2008): темы". youtube.com. Получено 2019-04-08.
- ^ "Мини-демонстрация Maxine Inspector 9 из 10 (2008): Стеки". youtube.com. Получено 2019-04-08.
- ^ "Мини-демонстрация Maxine Inspector 8 из 10 (2008): Регистры". youtube.com. Получено 2019-04-08.
- ^ «Мини-демонстрация Maxine Inspector 2 из 10 (2008): Память». youtube.com. Получено 2019-04-08.
- ^ «Мини-демонстрация Maxine Inspector 3 из 10 (2008): объекты в куче». youtube.com. Получено 2019-04-08.
- ^ «Мини-демонстрация Maxine Inspector 1 из 10 (2008 г.): Конфигурация загрузочного образа». youtube.com. Получено 2019-04-08.
- ^ «Архивная копия». Архивировано из оригинал на 2016-03-04. Получено 2013-09-18.CS1 maint: заархивированная копия как заголовок (связь)
- ^ "Максин-ВМ: Максин ВМ: мета-круговая исследовательская виртуальная машина". GitHub. 21 июня 2017 г.. Получено 2017-06-25.
Библиография
- Коцелидис, Христос; Кларксон, Джеймс; Родченко Андрей; Нисбет, Энди; Мауэр, Джон; Лухан, Микель (2017). «Гетерогенные управляемые системы времени выполнения». Материалы 13-й Международной конференции ACM SIGPLAN / SIGOPS по виртуальным средам выполнения. VEE 2017. С. 74–82. Дои:10.1145/3050748.3050764. ISBN 978-1-4503-4948-2.CS1 maint: ref = harv (связь)
- Виммер, Кристиан; Хаупт, Майкл; Ван де Вантер, Майкл Л .; Джордан, Мик; Дайнес, Лоран; Саймон, Дуглас (январь 2013 г.). «Максин: доступная виртуальная машина для java и в ней». Транзакции ACM по архитектуре и оптимизации кода. 9 (4). Изобразительное искусство. 30. Дои:10.1145/2400682.2400689. ISSN 1544-3566.CS1 maint: ref = harv (связь)