У меня есть приложение, которое создает экземпляр Class Loader (URLClassLoader) и динамически загружает файл Jar, используя его.Затем создается экземпляр класса из Jar с использованием отражения.Наконец, все ссылки обнуляются так, как предполагается, что Class Loader и связанные с ним объекты и классы должны собираться мусором.
Во время профилирования в JProfiler 10.1.5 я нажимаю " Запустить GC"на панели инструментов, а затем я делаю снимок кучи (не имеет значения, выбран ли параметр« Выполнить полный GC в снимке кучи »).Как я и ожидал, в куче нет экземпляра Class Loader, нет связанных объектов и классов, они собирают мусор.
С другой стороны, когда я не использую "Run GC "кнопка, но сделайте много снимков кучи с " Выполнить полный сборщик мусора в снимке кучи " опция выбрана (с" Сохранить объекты, удерживаемые только сильными ссылками " "подопция), я всегда вижу свой экземпляр Class Loader на снимке вместе со связанными объектами и классами.Они не были мусором!Почему?