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

Как получать Singleton типа А

Для получения Singleton типа A в Java можно использовать несколько подходов. Наиболее распространённый — ленивая инициализация с двойной проверкой (double-checked locking):

java
public class A {
    private static volatile A instance;

    private A() {}
text
public static A getInstance() {
    if (instance == null) {
        synchronized (A.class) {
            if (instance == null) {
                instance = new A();
            }
        }
    }
    return instance;
}

}

text

Или через статическое поле с eager-инициализацией (если объект не тяжёлый и нужен сразу):

```java
public class A {
    private static final A INSTANCE = new A();

    private A() {}

    public static A getInstance() {
        return INSTANCE;
    }
}

Для Java 5+ можно использовать enum (рекомендованный Джошуа Блохом способ):

java
public enum A {
    INSTANCE;
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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