Sobes.tech
Junior — Middle

Kad notiek Singleton šablona instances izveide?

sobes.tech AI

Atbilde no AI

Singleton modeļa izveide notiek pirmās piekļuves brīdī uz šo modeļa instanci, ja tiek izmantota slinka (lazy) inicializācija.

Tas nozīmē, ka objekts tiek izveidots pirmās izsaukšanas laikā metodes, kas atgriež Singleton, piemēram, getInstance(). Tas ļauj atlikt objekta izveidi līdz nepieciešamajam brīdim, taupot resursus.

Lazy inicializācijas piemērs Android/Java:

public class Singleton {
    private static Singleton instance;

    private Singleton() {
        // privāts konstruktors
    }

    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

Ja tiek izmantota ielādes laikā inicializācija (eager initialization), tad instances tiek izveidots nekavējoties ielādējot klasi, pirms pirmās piekļuves.