Back to questions
Aston
Junior — Middle
47
Каким образом реализовать паттерн Singleton в языке Java?
Companies where asked
Answer from AI
sobes.tech AI
Паттерн Singleton в Java гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
Один из простых и потокобезопасных способов реализации — использовать enum:
public enum Singleton {
INSTANCE;
public void someMethod() {
// логика
}
}
Использование:
Singleton.INSTANCE.someMethod();
Другой классический способ — с ленивой инициализацией и синхронизацией:
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;
}
}
Этот подход обеспечивает создание экземпляра только при первом вызове и потокобезопасность.