Встречается на собеседованиях • сегодня
Приведи пример класса паттерна проектирования
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()`
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы