Junior — Middle
Kako implementirati Singleton obrazac u Javi?
sobes.tech АИ
Одговор од АИ
Моделот 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.