У меня есть один spring bean, похожий на следующий:
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 bean, но ссылки на эти экземпляры не сохраняются.
Предполагая, что у меня нет контроля над использованием этих открытых нестатических внутренних классов (я знаю, что в идеале они были бы частными и статическими, чтобы избежать утечки ссылки на 'this'), будут ли созданные экземпляры "MyInnerClass" правильными сбор мусора?
Я выполнил свои собственные тесты на этом, переопределив finalize()
, и кажется, что экземпляры правильно собирают мусор, я просто надеялся на разъяснения по этому поводу.
Спасибо