Junior — Middle
Kako operativni sistem određuje kada objekat u memoriji više nije u upotrebi i kada ga je sigurno osloboditi?
sobes.tech АИ
Одговор од АИ
Operativni sistem sam po sebi ne upravlja direktno oslobađanjem objekata u memoriji — to je zadatak okruženja za izvršavanje i jezika za programiranje. Na primer, na iOS-u, upravljanje memorijom se vrši pomoću mehanizma ARC (Automatsko brojanje referenci).
ARC prati broj referenci na objekat. Kada broj referenci na objekat dostigne nulu (tj. više niko ne referiše na taj objekat), objekat se automatski oslobađa iz memorije.
Primer:
class MyClass {}
var obj: MyClass? = MyClass() // broj referenci = 1
obj = nil // broj referenci = 0, objekat se oslobađa
Na ovaj način, operativni sistem ne određuje kada objekat više nije u upotrebi — to radi okruženje za izvršavanje pomoću brojanja referenci ili sakupljača smeća.