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

Как сделать Singleton в Java

В Java Singleton можно реализовать несколькими способами. Самый простой и безопасный вариант - через enum:

java
public enum Singleton {
    INSTANCE;
    
    public void doSomething() {
        // реализация метода
    }
}

Или через статическое поле с lazy инициализацией:

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;
    }
}

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

  • Приватный конструктор
  • Статическое поле для хранения экземпляра
  • Потокобезопасность (volatile + double-check)
  • Ленивая инициализация (по требованию)

Enum подход предпочтительнее, так как он гарантирует:

  • Потокобезопасность из коробки
  • Защиту от сериализации/десериализации
  • Защиту от рефлексии
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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