У меня есть единственный компонент Spring, подобный следующему:
public class MyServiceImpl {
private MyDAO myDAO;
public class MyInnerClass implements SomeInterface<MyInnerClass> {
@Override
public MyInnerClass loadFreshObject(final String key) {
return myDAO.load(key);
}
}
}
Экземпляры MyInnerClass
создаются в коде вне компонента Spring, но никаких ссылок на эти экземпляры не сохраняется.
Предполагая, что у меня нет контроля над использованием этих общедоступных нестатических внутренних классов (я знаю, что в идеале они должны быть частными и статическими, чтобы избежать утечки ссылки на 'this'), будут ли созданные экземпляры 'MyInnerClass' правильно собран мусор?
Я провел свои собственные тесты, переопределив finalize ()
, и оказалось, что экземпляры правильно собирают мусор, я просто надеялся получить разъяснения по этому поводу.
Спасибо