Встречается на собеседованиях • сегодня

В чем разница между Singleton и Prototype

Singleton – один экземпляр на всё приложение. Spring создаёт его при старте контекста и возвращает тот же объект при каждом вызове getBean().

Prototype – новый экземпляр при каждом запросе. Spring не управляет его жизненным циклом, сборщик мусора удаляет его, когда ссылки теряются.

Пример:

java
@Component
@Scope("singleton") // по умолчанию
class SingletonBean { ... }

@Component
@Scope("prototype")
class PrototypeBean { ... }

Нюансы:

  • Singleton не потокобезопасен по умолчанию.
  • Prototype не подходит для stateful-бинов, если нужно сохранять состояние.
  • Singleton кэшируется, Prototype создаётся заново.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы