Sobes.tech
Junior

Kas ir atkritumu savāktājs (Garbage Collector)?

sobes.tech AI

Atbilde no AI

Atkritumu savākšanas ir atmiņas pārvaldības sistēmas sastāvdaļa, kas automātiski atbrīvo atmiņu, ko aizņem objekti, kurus programma vairs neizmanto.

Galvenie darbības principi:

  • Izsekošanas algoritmi: Atkritumu savācējs nosaka, kuri objekti ir pieejami (pieejami no saknes punktiem, piemēram, steka vai globālajām mainīgajām) un kuri nav.
  • Tīrīšana: Marķētie kā nepieejami objekti tiek izdzēsti, un to aizņemtā atmiņa tiek atgriezta brīvas atmiņas baseinā turpmākai izmantošanai.

Populāri algoritmi:

  • Mark and Sweep (marķēt un tīrīt)
  • Copying (kopēt)
  • Generational (paaudžu)
  • Reference Counting (atsauču skaitīšana)

Priekšrocības:

  • Samazina atmiņas noplūdes iespējamību.
  • Vienkāršo atmiņas pārvaldību programmētājam.
  • Palielina lietojumprogrammas uzticamību.

Trūkumi:

  • Var izraisīt pārtraukumus (Stop-the-world notikumi) savākšanas laikā.
  • Neprognozējams izpildes laiks.
  • Var patērēt papildu sistēmas resursus.