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

Приведи пример класса паттерна проектирования

java
// Пример реализации Singleton (потокобезопасный, ленивая инициализация)
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;
    }
}

// Пример использования
Singleton singleton = Singleton.getInstance();

text

Ключевые особенности:
1. `volatile` гарантирует видимость изменения между потоками
2. Двойная проверка (`double-checked locking`) для оптимизации
3. Приватный конструктор предотвращает создание экземпляров извне
4. Ленивая инициализация - объект создается только при первом вызове `getInstance()`
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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