Garbage collection: Porovnání verzí

Smazaný obsah Přidaný obsah
m →‎Sledovací (tracing) algoritmy: (vraceno:) defragmentace u mark ans sweep
Řádek 34:
 
Tato metoda má několik nevýhod. Největší je, že při garbage collectionu je přerušen běh programu. To znamená, že se programy pravidelně ''zmrazí'', takže je nemožné pracovat s aplikacemi používající reálný čas.
 
Jednoduchá implementace Mark&Sweep, která nechává živé objekty na místě, trpí fragmentací uvolněné paměti. Proto je součástí této implementace GC obvykle [[defragmentace|defragmentování]] paměti.
 
=== Kopírovací (copying) collector ===
Řádek 40 ⟶ 42:
Nevýhodou tohoto algoritmu je jeho velká paměťová náročnost (potřebuje dvojnásobný prostor pro objekty). Další nevýhodou je potřeba kopírovat objekty, které přežijí úklid. Oproti tomu algoritmus nemá vůbec žádnou práci s objekty, které úklid nepřežijí. Vhodný je tedy v případě, že velká část objektů má být smazána, což se u nově vzniklých objektů často stává. Při běhu algoritmu je při kopírování objektů do druhé části haldy paměť automaticky defragmentována.
 
V praxi bývá tento algoritmus používán pro nově vzniklé objekty a je kombinován s dalšími algoritmy, což eliminuje jeho nevýhody.
 
== Generační algoritmus ==