Sobes.tech
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.