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.