Сравнение "объектов, выделенных" в снимке JVisualVM с количеством экземпляров в дампе кучи Java

Я использовал JVisualVM для просмотра приложения и увидел много объектов SomeDomainClass в профилировщике памяти и снимке. Созданный вскоре после этого дамп кучи Java (файл.hprof) не содержит экземпляров SomeDomainClass. Поскольку профилировщик памяти "отображает общее количество выделенных объектов", а файл hprof содержит активные в куче объекты, означает ли это, что приложение создает много кратковременных экземпляров SomeDomainClass?

1 ответ

Решение

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

Так что, если ваша куча не показывает какой-либо экземпляр SomeDomainClass класс, то да SomeDomainClass Моменты недолговечны, в другом мире эти экземпляры не имели никаких ссылок при создании кучи.

Другие вопросы по тегам