Sobes.tech
Back to questions
Junior — Middle
75

Каким образом реализовать паттерн Singleton в языке Java?

Companies where asked
Т-БанкТ-Банк

Answer from AI

sobes.tech AI

Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.

В Java это можно реализовать несколькими способами. Один из простых и потокобезопасных вариантов — использовать ленивую инициализацию с ключевым словом synchronized или использовать статический вложенный класс.

Пример с использованием статического вложенного класса:

public class Singleton {
    private Singleton() {
        // приватный конструктор
    }

    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Такой подход гарантирует создание экземпляра только при первом вызове getInstance(), и при этом потокобезопасен без использования synchronized.