Sobes.tech
Junior

Mis on prügikoristaja (Garbage Collector)?

sobes.tech AI

Vastus AI-lt

Jäätmekogur on mäluhaldusüsteemi komponent, mis automaatselt vabastab mälu, mida on hõivanud objektid, mida programm enam ei kasuta.

Põhilised tööpõhimõtted:

  • Jälgimisalgoritmid: Jäätmekogur määrab, millised objektid on kättesaadavad (saadaval juurpunktidest, näiteks virnast või globaalsetest muutujatest) ja millised mitte.
  • Puhastamine: Märgitud kui mitte-kättesaadavad objektid eemaldatakse ning nende hõivatud mälu tagastatakse vaba mälu basseinile edasiseks kasutamiseks.

Tavaliselt kasutatavad algoritmid:

  • Mark and Sweep (märgista ja puhasta)
  • Copying (kopeerimine)
  • Generational (põlvkondlik)
  • Reference Counting (viidete arvutamine)

Eelised:

  • Vähendab mälu lekkimise tõenäosust.
  • Lihtsustab mälu haldamist arendaja jaoks.
  • Suurendab rakenduse usaldusväärsust.

Miinused:

  • Võib põhjustada pause (Stop-the-world sündmused) kogumise ajal.
  • Ebatäpselt prognoositav täitmise aeg.
  • Võib kasutada täiendavaid süsteemiressursse.