2014-12-04 4 views
1

Я хотел бы видеть вещи, подобные объектам в куче, созданным моим простым классом. Однако, когда я использую профилировщик netbeans для просмотра моей запущенной программы, я вижу тысячи классов, по-видимому, все хорошие вещи, которые java делает за кулисами.Как отслеживать информацию о приложении в java?

Есть ли способ профилировать netbeans для детализации только моего потока и объектов, доступных из моего потока? Есть ли другие инструменты, которые были бы хороши для этого?

Я бы хотел, например, увидеть, создаю ли я большие, ненужные объекты, сколько памяти мои объекты используют, что-то вроде этого.

Меня особенно интересует mac/linux.

ответ

2

Внизу есть текстовое поле, в котором вы можете отфильтровать проверяемые классы. Там вы должны написать полное имя своего класса (ов) для проверки.

enter image description here

(К сожалению, не удалось найти более точное изображение, но то же текстовое поле появляется в той части памяти)


Вот другое изображение, где появляется текстовое поле и текст на ней ясно: Фильтр имени класса. Просто напишите complete.nameof.YourClass и он покажет необходимую информацию.

enter image description here

+0

Отлично - спасибо! Если я выделяю ArrayList в своем классе, как я могу отделить это от всего другого ArrayList , то выделяют другие потоки, такие как сбор мусора? Есть ли способ выбрать объекты по имени переменной, например? – user384842

+1

@ user384842 вы не можете знать имя переменных во время выполнения. Таким образом, было бы невозможно узнать эту информацию у профилировщика. –

0

Я много о Profiler NetBeans не знаю, но у меня есть некоторые другие предложения для инструментов, которые я знаю больше, потому, что я работаю с ними ....

Если вы все равно должны быть используя JDK 6, вы можете использовать инструмент анализатора утечки памяти из JRockit Mission Control.

В противном случае, возможно, MAT или Java Flight Recorder (Java Mission Control)

Смежные вопросы