2012-01-03 9 views
0

Я проделал какой-то поиск там, но не смог найти слишком много полезной информации об этом, но мог ли кто-нибудь попытаться объяснить основные карты памяти Java? Как и где/как его использовать, это цель и, возможно, некоторые примеры синтаксиса (типы ввода/вывода)? Я скоро беру Java-тест, и это может быть одна из тем, но через все мои уроки Jmap не появился. Заранее спасибоОсновы Jmapping?

Edit: я имею в вид инструмента: jmap

+0

Итак, вы можете протестировать то, чему вас никогда не учили? ಠ_ಠ –

+0

Вы просто хотите узнать о программе * jmap *, или ...? – someguy

+0

@ 1 да ... представьте, что lol. На самом деле все это учили. Попытка проверить класс Java1 на Java2. Переключение майоров отстой. @ 2, idk? как использовать команду? Я (ошибочно?) Полагаю, что это встроенная функция/команда. – trflach

ответ

1

Я бы прочитать страницу человека вы ссылаетесь.

jmap печатает карты памяти общих объектов или информацию о куче памяти данного процесса или файла ядра или удаленного сервера отладки.

ПРИМЕЧАНИЕ. Эта утилита не поддерживается и может быть доступна или недоступна в будущих версиях JDK. В системах Windows, где dbgeng.dll нет, необходимо установить «Отладочные инструменты для Windows», чтобы эти инструменты работали. Кроме того, переменная среды PATH должна содержать местоположение jvm.dll, используемое целевым процессом, или местоположение, из которого был создан файл дампа сбоя.

http://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html

Его не инструмент, чтобы играть с легкомысленно. Вам нужен хороший профилировщик, который может читать его вывод, поскольку jhat полезен только для тривиальных программ. (YourKit отлично работает для кучи 1+ ГБ)

+0

Я понимаю, что предполагается показать детали многих переменных/объектов, созданных вашей программой, но с чем бы вы справились. Кстати, я совершенно новичок в Java (хорошо 2 недели), поэтому такая вещь новая. – trflach

+0

И вы хотите знать о инструменте очень низкого уровня, даже Oracle описывается как «экспериментальный» и «неподдерживаемый». Я знаю профессиональных разработчиков, которые не использовали его за десять лет разработки Java. –

+0

В основном он сбрасывает состояние всех объектов и их полей, но не локальные переменные потоков. Я бы использовал YourKit для чтения дампа, но теоретически вы можете использовать 'jhat' для его чтения, но это немного кошмар, если у вас больше, чем очень небольшое количество объектов. –