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

Что такое шаблон проектирования Singleton

Singleton — это порождающий шаблон проектирования, гарантирующий, что у класса есть только один экземпляр, и предоставляющий глобальную точку доступа к нему.

Ключевые моменты:

  • Приватный конструктор, чтобы нельзя было создать экземпляр извне.
  • Статический метод для получения экземпляра (например, getInstance()).
  • Ленивая или ранняя инициализация.

Пример (ленивая инициализация):

java
public class Singleton {
    private static Singleton instance;

    private Singleton() {}

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

Потокобезопасный вариант (Double-Checked Locking):

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
интервью вопросы и ответы