2013-03-15 4 views
1

Я пытаюсь обнаружить утечки памяти в своем приложении Java, используя VisualVM. Я использую VisualVM 1.3.5.Уязвимости памяти VisualVM?

Я последовал за те шаги, которые должны быть указанные в этом руководстве http://rejeev.blogspot.in/2009/04/analyzing-memory-leak-in-java.html

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

Или любой предлагаю мне хороший способ найти утечки памяти с помощью VisualVM.

Хорошие ответы определенно оценены.

ответ

9

Никакой инструмент профилирования не даст вам линии, в которой происходит утечка потенциальной памяти.

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

Например, если создается огромное количество объектов byte [], возможно, вы не закрываете созданные вами потоки ввода/вывода?

Нет серебряной пули, чтобы найти утечки памяти, она требует усилий и некоторой практики и полностью зависит от приложения.

Это, как говорится, эта ссылка может помочь также:

http://www.kdgregory.com/index.php?page=java.outOfMemory

+0

+1 - пятно на, хорошо написано. – duffymo

+0

+1 - Спасибо за ваш ответ ... Ницца. –

+0

Вы проверили эту «учебную ссылку», которую я разместил? Правильно ли это? –

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