Jvisualvm разница между живыми объектами и выделенными объектами

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

jvisualvm screenshot

Ответы

Ответ 1

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

Ответ 2

Количество выделенных объектов - это не количество объектов, еще не возвращенных сборщиком мусора. Скорее всего, это число объектов, созданных с момента запуска приложения, или с reset "Buffed Collected Results" в VisualVM (есть кнопка в представлении профайлера памяти на reset собранный буфер результатов).

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