Сборка мусора: Автоматическая очистка памяти

Процесс автоматического освобождения памяти от неиспользуемых объектов.

Использование сборщика мусора упрощает разработку, избавляя от необходимости вручную вызывать delete или free. Современные алгоритмы минимизируют задержки, делая процесс практически незаметным для пользователя.

        graph LR
  Center["Сборка мусора: Автоматическая очистка памяти"]:::main
  Rel_memory_management["memory-management"]:::related -.-> Center
  click Rel_memory_management "/terms/memory-management"
  Rel_cpu_cache["cpu-cache"]:::related -.-> Center
  click Rel_cpu_cache "/terms/cpu-cache"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

Представьте, что вы едите в ресторане. Когда вы доедаете и уходите, официант убирает грязную посуду, чтобы за стол могли сесть новые люди. Сборщик мусора — это такой официант для компьютерной памяти.

🤓 Expert Deep Dive

Tracing GC (like Mark-Sweep) builds a graph of all reachable objects starting from 'roots' (stack, globals). Refence Counting (used in Python/Swift) immediately deletes objects when their count hits zero. Generational GC leverages the 'weak generational hypothesis': that most objects die young. It divides the heap into 'Eden', 'Survivor', and 'Tenured' spaces, collecting the younger spaces more frequently.

📚 Источники