Sobes.tech
Junior — Middle

Kas prügi kogujal suudab tuvastada ja puhastada tsüklilistes objekte?

sobes.tech AI

Vastus AI-lt

Jah, kaasaegsed prügi kogujad, sealhulgas Androidis kasutatavad (näiteks JVM/ART-i prügikoristaja), suudavad tuvastada ja puhastada objekte, mis on tsüklilistes viidetes, kui nendest ei ole väliseid viiteid juurobjektidest.

See on võimalik jälgimisalgoritmide abil, mis algavad juurobjektidest (näiteks virn, statilised muutujad) ja märgivad kõik kättesaadavad objektid. Objekte, mis ei ole juurtest kättesaadavad, loetakse prügi, isegi kui nad viitavad üksteisele tsükliliselt.

Seega, tsüklilised viited ise ei takista prügi kogumist, kui objektid ei ole programmis kasutusel.