Sobes.tech
Junior — Middle

Vysvetlite princíp fungovania zberača odpadu v automatickom systéme správy pamäte.

sobes.tech AI

Odpoveď od AI

Garbage Collector (GC) v jazyku C# automaticky spravuje pamäť tým, že uvoľňuje objekty, ktoré už program nepoužíva.

Princíp fungovania:

  • Sledovanie odkazov: GC pravidelne kontroluje, ktoré objekty v spravovanej halde sú dostupné cez odkazy z aktívneho kódu.
  • Detekcia nedostupných objektov: Objekty bez odkazov sa považujú za nedostupné a môžu byť odstránené.
  • Generácie: Objekty sú rozdelené do generácií (0, 1, 2) na optimalizáciu. Nové objekty sú v generácii 0. Ak objekt žije dlho, je povýšený do vyššej generácie.
  • Zber odpadu: GC uvoľňuje pamäť odstránením nedostupných objektov a zhutňuje haldu na zníženie fragmentácie.

Príklad:

class Program
{
    static void Main()
    {
        var obj = new object(); // objekt v hale
        obj = null; // objekt sa stáva nedostupným
        GC.Collect(); // nútené volanie zberača odpadu
    }
}

Týmto spôsobom vývojár nemusí manuálne uvoľňovať pamäť, čo znižuje chyby spojené s riadením pamäti.