2015-12-14 3 views
0

Я знаю, что существует множество способов взять кучу кучи Java-процесса. Но я хотел бы знать, как эти данные собираются.Как свалка кучи собирает данные

Другими словами, какой компонент в JVM предоставляет данные кучи при запуске дампа.

ответ

0

Вообще говоря, такой инструмент, как «jmap», говорит о компонентах, которые не являются частью общедоступных API Java: материал в пакетах sun.jvm.hotspot.*.

  • Если «jmap» демпинг присоединенную JVM, он взаимодействует с агентом отладки JVM с помощью JVMTI.

  • В других случаях «jmap» использует различные классы в sun.jvm.hotspot.* для извлечения информации из адресного пространства процессов JVM или дампа ядра.

Если вы хотите понять, окровавленные детали, загрузить исходный код OpenJDK (выбрать любую версию), найдите файл JMap.java и начать читать.