Оптимизирует ли Spring как-то использование памяти при использовании одноэлементных компонентов, которые загружаются лениво?
Предположим, что у нас есть singleton bean-компонент, который представляет некоторый модуль (фрейм/окно приложения), и он ленив. Этот компонент загружает некоторые классы, которые являются компонентами этого фрейма и не определены в контейнере Spring IoC.
Предположим, что мы закрываем модуль JFrame
, все компоненты фрейма обычно должны быть удалены сборщиком мусора, но на них по-прежнему ссылается bean-компонент Spring.
Оптимизирует ли Spring использование памяти в этой ситуации?
Если быть точным, я спрашиваю не о прототипах, а о синглтонах. Потому что у нас странное поведение, когда при закрытии окна память с использованием синглтонов Spring освобождается. Еще больше памяти высвобождается, когда мы используем прототип bean-компонента для окна.