Junior — Middle
Как да реализираме патърна Singleton в Java?
sobes.tech AI
Отговор от 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.