Я пытаюсь обнаружить утечки памяти в своем Java-приложении с помощью VisualVM
. Я использую VisualVM 1.3.5
.
Я выполнил шаги, описанные в этом руководстве http: //rejeev.blogspot.in/2009/04/analyzing-memory-leak-in-java.html
Выполнив эти шаги, я не знаю, с чего мне начать редактировать свой код. Есть ли способ найти класс java и номер строки, в которой произошла утечка памяти, чтобы исправить код.
Или кто-нибудь подскажет мне хороший способ найти утечки памяти с помощью VisualVM
.
Безусловно, хорошие ответы приветствуются.
1 ответ
Ни один инструмент профилирования не покажет вам строку, в которой возможна утечка памяти.
Профилирование приложения требует немного больше усилий, чем это. Обычно такой инструмент, как VisualVM, например, покажет вам, какие типы объектов создаются чаще всего, и это может указать, в чем проблема.
Например, если создается огромное количество объектов byte [], возможно, вы не закрываете создаваемые потоки ввода / вывода?
Нет серебряной пули для поиска утечек памяти, это требует усилий и некоторой практики и полностью зависит от приложения.
При этом эта ссылка также может помочь:
http://www.kdgregory.com/index.php?page=java.outOfMemory
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.
tutorial link
, который я опубликовал? Это правильный путь?