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

Какие плюсы и минусы Singleton

Плюсы:

  • Гарантирует единственный экземпляр класса в приложении
  • Глобальная точка доступа к экземпляру
  • Ленивая инициализация (если реализована через getInstance())
  • Упрощает управление общими ресурсами (например, подключение к БД)

Минусы:

  • Нарушает принцип единственной ответственности (SRP)
  • Усложняет тестирование из-за глобального состояния
  • Потенциальные проблемы в многопоточной среде
  • Может стать антипаттерном при злоупотреблении

Пример реализации с двойной проверкой (thread-safe):

java
public class Singleton {
    private static volatile Singleton instance;
    
    private Singleton() {}
    
    public static Singleton getInstance() {
        if (instance == null) {
            synchronized (Singleton.class) {
                if (instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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