Я использовал JVisualVM для просмотра приложения, и я видел много объектов SomeDomainClass в профилировщике памяти и моментальном снимке. Сценарий кучи Java (файл .hprof), выпущенный вскоре после этого, не содержал экземпляров SomeDomainClass. Поскольку профайлер памяти «отображает общее количество выделенных объектов», а файл hprof содержит объекты, активные в куче, означает ли это, что приложение создает много недолговечных экземпляров SomeDomainClass?Сравнение «выделенных объектов» в снимке JVisualVM с количеством экземпляров в дамке кучи Java
0
A
ответ
1
Фактически, когда вы начинаете генерировать кучу, visualVM
вызовет GC
непосредственно перед началом сбора объектов для определения живых объектов. затем собирая их.
Итак, если ваша куча не показывает какой-либо экземпляр класса SomeDomainClass
, то да SomeDomainClass
мгновений в реальном маштабе времени, в другом мире, эти экземпляры не имели никакой справки пока создающ кучу.