Подтвердить что ты не робот

Какой JVM выбрать для взлома GC?

У меня есть проект для алгоритма GC, который я хотел бы реализовать для JVM, чтобы дать возможность провести сравнительный анализ.

Есть ли у кого-нибудь опыт в отношении того, какая реализация позволит легко взломать, но у которого все еще есть встроенный GC, который бы сделал для значимого сравнения?

Отредактировано: Я хочу, чтобы JVM имел сбор мусора, так как я хочу собирать статистику, используя его, а затем вырывать их GC, вставлять свои собственные и сравнивать. Я хочу, чтобы у него был хороший GC, поскольку в противном случае сравнение имеет смысл, но мне нужно что-то с кодом, с которым работать не так сложно (у HotSpot много ассемблера, что затрудняет задачу)

4b9b3361

Ответ 1

Я думаю, что Maxine Research VM из Oracle Labs идеально подходит для ваших нужд.

Цитата с первой страницы их wiki:

Обзор проекта

В эпоху современных, управляемых языков мы все чаще требуем от наших виртуальных машин: более высокую производительность, большую масштабируемость и поддержку новейших новых языков. Исследования и эксперименты важны, но уже не практичны в контексте зрелых, сложных, производственных виртуальных машин, написанных на нескольких языках.

Maxine VM - платформа нового поколения, которая устанавливает новый уровень производительности в этой области исследований. Он полностью написан на Java, полностью совместим с современными Java-IDE и стандартным JDK, имеет модульную архитектуру, которая разрешает альтернативные реализации подсистем, таких как GC, и компиляцию, которая должна быть подключена, и сопровождается (Maxine Inspector) для отладки и визуализации почти каждого аспекта состояния рабочей среды VM.

Здесь отличное видео, демонстрирующее утилиты мониторинга памяти:

Ответ 2

Я не знаю ни одного, у которого нет встроенного GC; не много Java без одного. Почему бы не начать с OpenJDK или Harmony?

Ответ 3

возможно, вам не нужна JVM, но для проверки вашего алгоритма будет достаточно виртуальной машины. Если вы не обязаны использовать JVM, вы можете использовать APache Harmony или я бы рекомендовал другую виртуальную машину, созданную по тезису phd под названием VmKit. Вы можете взглянуть на него и просмотреть источник