Junior — Middle
Kedy dochádza k uvoľneniu pamäte, ktorú zaberá objekt v riadených programovacích jazykoch?
sobes.tech AI
Odpoveď od AI
V riadených programovacích jazykoch, ako je Swift alebo Objective-C pre iOS, dochádza k uvoľneniu pamäte automaticky pomocou mechanizmu správy pamäte, napríklad ARC (Automatické počítanie odkazov).
Objekt je uvoľnený, keď na neho nie sú žiadne silné odkazy (strong references). Hneď ako čítač odkazov objektu dosiahne nulu, uvoľní sa pamäť, ktorú objekt zaberá.
Príklad v Swift:
class MyClass {}
var obj: MyClass? = MyClass() // čítač odkazov = 1
obj = nil // čítač odkazov = 0, objekt je uvoľnený
Týmto spôsobom dochádza k uvoľneniu pamäti v momente, keď objekt prestane byť dostupný z kódu a na neho nezostávajú žiadne silné odkazy.