Sobes.tech
Junior — Middle

Čo sú korene zberača odpadkov (GC Roots) a ako ovplyvňujú proces automatického riadenia pamäte?

sobes.tech AI

Odpoveď od AI

Korene GC sú objekty, ktoré sa považujú za vstupné body pre zberač odpadu pri určovaní dostupnosti objektov v pamäti. Slúžia ako východiskový bod pre prechádzanie grafu objektov.

V Androide (a všeobecne v Jave) môžu byť korene GC:

  • Odkazy zo zásobníka vlákien (lokálne premenné a parametre metód)
  • Statické polia tried
  • Odkazy z JNI (Java Native Interface)
  • Aktívne objekty v systémových triedach

Zberač odpadu začína prechádzaním od koreňov GC a označuje všetky objekty, ku ktorým je možné sa dostať cez reťazec odkazov. Nepoužiteľné objekty sa považujú za nevyužité a môžu byť odstránené.

Týmto spôsobom ovplyvňujú korene GC proces správy pamäte, určujúc, ktoré objekty sú považované za živé a ktoré nie sú zbierané.