„Szerkesztő:Mr Steve/Garbage Collection” változatai közötti eltérés
Tartalom törölve Tartalom hozzáadva
96. sor:
=== Generációs szemétgyűjtő ===
A tapasztalat azt mutatja, hogy az elsőként létrehozott objektumok válnak a leggyorsabban elérhetetlenné (''csecsemőhalál'' (infant mortality) vagy ''generációs hipotézis'').
▲Ez a típusú gyűjtő felosztja a memóriát, az objektumok kora alapján. Amikor az adott memóriarézs megtelik, azok az elemek amelyekre létezik élő hivatkozás az öregebb régiókból, egy generációval feljebb kerülnek. Ez a módszer igen gyors, mivel egyszerre csak egy generációt kell "kitakarítani".
A generációs gyűjtő [[Heurisztika|heurisztikus]] alapon működik, ezért előfordulhat, hogy néhány felesleges objektum nem szabadul fel. Ez időnként szükségessé teszi a teljes memória átvizsgálását. A modern keret- vagy futtató rendszerek (mint a [[Java|JAVA]] Virtual Machine vagy a [[.NET Framework]]) valamilyen hibrid megoldást alkalmaznak, vagyis az alapértelmezett generációk átvizsgálásán felül végrehajtanak egy "''mark-and-sweep''" ciklust vagy a memória széttöredezettsége miatt egy másoló eljárást - amennyiben szükséges. A végrehajtott eljárások alapján megkülönböztetünk al- ('''minor''') és fő- ('''major''') gyüjtőciklust.
|