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.