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

Какой метод создает Singleton

В Java Singleton можно создать несколькими способами. Наиболее надежный и потокобезопасный вариант - с использованием enum или статического внутреннего класса (Initialization-on-demand holder idiom).

1. Enum Singleton (рекомендуемый способ):

java
public enum Singleton {
    INSTANCE;
    public void doSomething() { ... }
}

2. Статический внутренний класс:

java
public class Singleton {
    private Singleton() {}
    
    private static class Holder {
        static final Singleton INSTANCE = new Singleton();
    }
    
    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Оба способа гарантируют:

  • Ленивую инициализацию
  • Потокобезопасность
  • Отсутствие проблем с сериализацией (особенно важно для enum)

Enum-реализация предпочтительнее, так как она защищена от рефлексии и проще в написании.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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