, чтобы отобразить нежелательные или нулевые объекты Java, которые не очищаются с помощью процесса мусора Java
Это не корректно определено понятие; по крайней мере, нет никаких полезных определений, которые бы дали вам что-то актуальное.
Часть памяти, в которой был выделен объект, может считаться свободной для всех практических целей, как только этот объект становится недоступным. Объем памяти, который представляет собой блок, доступен для распределителя JVM в том смысле, что событие из памяти произойдет из-за того, что этот блок в некотором смысле «пропускается».
Обратите внимание, что многие алгоритмы сбора мусора обычно делают прямо противоположное: они находят объекты и перемещают их, чтобы они занимали непрерывный блок памяти. Алгоритмы просто не обращают внимания на «мусор» объекты и рассматривают их как просто пустое пространство.
Таким образом, даже если вам удастся написать какой-то низкоуровневый Java-модуль на основе Java, который будет перечислять все объекты в куче, вы не получите никакой интересной информации: недостижимые объекты, с которыми вы сталкиваетесь, задерживаются, потому что JVM еще не почувствовала необходимость повторного использования своей памяти.
Как вы можете идентифицировать «нежелательные» объекты в целом? –
Вам не нужна ссылка на объект для его отображения? В этом случае он не получит GC'ed. Есть ли конкретная причина, по которой вы хотите это сделать? –
Спасибо Энди Тернер. если у меня есть jbutton на jframe, и если я удалю из нее jbutton. В этом случае я хочу посмотреть, как память jbutton получила освобождение jvm, используя процесс сбора мусора. – Jeet