Как лучше всего понять виртуальную машину Java HotSpot? И если я хочу внести изменения в исходный код и добавить свои собственные функции, какая будет лучшая среда разработки (хорошо ли работают ctags с большой базой кода или мне нужна полноценная IDE)?
Как настроить среду разработки для Java HotSpot VM?
Ответы (1)
Я сомневаюсь, что вы захотите погрузиться в кодовую базу Hotspot... Я копирую части своего ответа из этого вопроса:
Я думаю, что Maxine Research VM от Oracle Labs будет хорошей отправной точкой. Вот цитата с первой страницы их вики:
Обзор проекта
В эпоху современных управляемых языков мы требуем от наших виртуальных машин еще большего: более высокая производительность, большая масштабируемость и поддержка новейших новых языков. Исследования и эксперименты важны, но уже не практичны в контексте зрелых, сложных производственных ВМ, написанных на нескольких языках.
Maxine VM — это платформа следующего поколения, которая устанавливает новый стандарт производительности в этой области исследований. Он полностью написан на Java, полностью совместим с современными Java IDE и стандартным JDK, имеет модульную архитектуру, которая позволяет подключать альтернативные реализации подсистем, таких как GC и компиляция, и сопровождается специальный инструмент разработки (Maxine Inspector) для отладки и визуализации почти всех аспектов состояния выполнения виртуальной машины.
Вот отличное видео, демонстрирующее его утилиты для мониторинга памяти: