jvisualvm разница между живыми объектами и выделенными объектами - PullRequest
17 голосов
/ 27 января 2011

Как видно на скриншоте, здесь 0 живых объектов, 9 выделенных объектов. В чем разница между живым и выделенным объектом?

jvisualvm screenshot

Ответы [ 2 ]

13 голосов
/ 28 августа 2011

Количество выделенных объектов - это не количество объектов, которые еще не были возвращены сборщиком мусора. Скорее, это число объектов, созданных с момента запуска приложения или сброса «буфера собранных результатов» в VisualVM (в представлении профилировщика памяти есть кнопка для сброса буфера собранных результатов).

Живые объекты - это те объекты, которые не были возвращены сборщиком мусора; это может включать объекты, которые недоступны, и определенно будут включать объекты, которые все еще используются приложением.

3 голосов
/ 31 января 2011
  • Выделенные объекты - это все объекты, созданные с момента запуска (или сброса) приложения.
  • Живые объекты - это достижимые объекты, которые активно используются вашей программой (вероятно, еще в молодом поколении)
...