1. Обзор
В этом руководстве мы узнаем, как bean-компоненты Spring, созданные с помощью области singleton
, работают за кулисами для обслуживания нескольких одновременных запросов. Кроме того, мы поймем, как Java хранит экземпляры bean-компонентов в памяти и как обрабатывает одновременный доступ к ним.
2. Spring Beans и память кучи Java
Куча Java , как мы знаем, представляет собой глобально разделяемую память, доступную для всех запущенных потоков внутри приложения. Когда контейнер Spring создает компонент с областью действия singleton, компонент сохраняется в куче. Таким образом, все параллельные потоки могут указывать на один и тот же экземпляр компонента.
Далее давайте разберемся, что такое стековая память потока и как она помогает обслуживать параллельные запросы.