Оптимизация использования одноэлементной памяти Spring

Оптимизирует ли Spring как-то использование памяти при использовании одноэлементных компонентов, которые загружаются лениво?

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

Предположим, что мы закрываем модуль JFrame, все компоненты фрейма обычно должны быть удалены сборщиком мусора, но на них по-прежнему ссылается bean-компонент Spring.

Оптимизирует ли Spring использование памяти в этой ситуации?

Если быть точным, я спрашиваю не о прототипах, а о синглтонах. Потому что у нас странное поведение, когда при закрытии окна память с использованием синглтонов Spring освобождается. Еще больше памяти высвобождается, когда мы используем прототип bean-компонента для окна.


person Łukasz Rzeszotarski    schedule 15.03.2013    source источник


Ответы (1)


Spring не выпускает синглтон после его создания. Освобождение памяти при закрытии окна, вероятно, является следствием освобождения некоторых ресурсов, которое выполняется после закрытия окон, и, вероятно, не имеет ничего общего с компонентом Spring. Для получения дополнительной информации вы должны опубликовать код, какой у вас компонент, как открывается и закрывается окно.

person partlov    schedule 15.03.2013