Junior — Middle
Singleton nümunəsinin yaradılması hansı vaxt baş verir?
sobes.tech Süni İntellekt
AI-dan cavab
Singleton nümunəsinin yaradılması, bu nümunəyə ilk müraciət zamanı, əgər tələsmə (lazy) başlanğıc üsulu istifadə olunursa, baş verir.
Yəni, obyekt, məsələn, getInstance() kimi Singleton nümunəsini qaytaran metodun ilk çağırışında yaradılır. Bu, obyektin yaradılmasını ehtiyac yaranana qədər təxirə salmağa və resurslardan qənaət etməyə imkan verir.
Android/Java-də tələsmə ilə başlanğıc nümunəsinin nümunəsi:
public class Singleton {
private static Singleton instance;
private Singleton() {
// xüsusi konstruktor
}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
Əgər, əvəzində, sinif yüklənərkən başlanğıc (eager initialization) istifadə olunursa, nümunə sinif yüklənərkən dərhal yaradılır, ilk müraciətdən əvvəl.