хочу посмотреть на память, используемую одним объектом Java в Eclipse - PullRequest
1 голос
/ 16 января 2012

У меня есть проект Java, написанный на Eclipse (на самом деле RAD);он использует значительное количество памяти благодаря использованию iText.Я смотрю на использование другого способа генерирования моего документа iText, который должен использовать меньше памяти.Я хочу знать, сколько меньше памяти он использует.

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

Я уже час смотрю на мониторы памяти, анализаторы дампов кучи и т. Д., И я довольно запутался.Кажется, что все они направлены на решение другой проблемы или, по крайней мере, указывают на такой общий класс проблем, что, даже если бы я мог их установить и работать, не ясно, ответят ли они на МОЙ вопрос.

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

rc

Ответы [ 2 ]

1 голос
/ 07 сентября 2012

http://www.eclipse.org/mat/

отлично работает для меня ... учебники включены

0 голосов
/ 07 сентября 2012

Вы можете запустить JVisualVM, поставляемый со всеми Oracle JDK и доступный независимо.

Контролируйте свой процесс, и в какой-то момент вы можете сделать дамп кучи. На вкладке heapdump вы можете перейти к консоли OQL и выбрать свой объект [s]. При просмотре экземпляра объекта вы можете запросить расчет оставшегося размера. Это даст вам общий размер вашего объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...