Junior — Middle
Yaddaş idarəetməsi üçün referans sayğacı adətən harada həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Yaddaş idarəetməsi üçün istinad sayğacı adətən obyekt və ya onun qabığının (runtime) səviyyəsində həyata keçirilir, burada hər obyektə ona aktiv olan istinadların sayı saxlanılır. Yeni istinad yaradıldıqda, sayğac artır, və istinad silindiyində — azaldılır. Əgər sayğac sıfıra çatarsa, obyekt sərbəst buraxılır.
iOS-də ARC (Avtomatik İstinad Sayğacı) ilə bu, Objective-C/Swift kompilyatoru və runtime tərəfindən həyata keçirilir. İnkişaf etdirici adətən sayğac üçün əl ilə kod yazmır, lakin güclü və zəif istinadları izləməli və döngəvi asılılıqları qarşısını almalıdır.
Swift-də nümunə:
class Person {
var name: String
init(name: String) { self.name = name }
}
var p1: Person? = Person(name: "Alice") // sayğac = 1
var p2 = p1 // sayğac = 2
p1 = nil // sayğac = 1
p2 = nil // sayğac = 0, obyekt sərbəst buraxılır
Bu şəkildə, istinad sayğacı adətən runtime-də həyata keçirilir və avtomatik idarə olunur.