Sakupljanje smeća (računarstvo)
From Wikipedia, the free encyclopedia
Skupljanje smeća (eng. garbage collection, kratica GC) je oblik automatskog upravljanja memorijom. Skupljač smeća (eng. garbage collector) ili kraće skupljač (eng. collector) pokušava vratiti u uporabljiv oblik smeće ili objekte koje računalni program više ne rabi. John McCarthy je otkrio ovo oko 1959. godine da bi riješio probleme Lispa.[1][2] Ovime se oslobađa memoriju koja više nije potrebna.[3] Ova složena funkcija[4] potrebna je jer se tijekom izvođenja programa raspoloživa memorija smanjuje za preostali dio programa koji se ima izvršiti.[3] Kod programa gdje ovo sustav ne rješava sâm, sustavu se mora kvalitetno zadati kad osloboditi memoriju, jer u suprotnom uništit će se objekt koji bi se poslije mogao pokazati potrebnim.[3] Obje pojave, i memorijsko curenje i uništenje objekta čestim su uzrokom kad program ili pak cijelo računalo "zablokira".
Danas su ovi mehanizmi različito zastupljeni kod programa. Java taj mehanizam ima ugrađen i sâm se pokreće, ovisno o potrebi.[3] Kod C++-a ovo nije ugrađeno u sustav, no postoje knjižnice (i besplatne i komercijalne) koje to ugrađuju u sustav.[3]