Java славится своей автоматической управляемой памятью. Одним из ключевых механизмов, обеспечивающих стабильность и безопасность приложений, является Garbage Collector (GC) — система автоматической сборки мусора. В этой статье мы разберём: Garbage Collector (GC) — это часть Java Virtual Machine (JVM), которая автоматически освобождает память, выделенную под объекты, которые больше не используются. Он позволяет: Основной принцип: Корни (Roots) включают: Процесс сборки мусора состоит из нескольких этапов: 1. Mark Phase (Маркировка): GC проходит по всем объектам, начиная с корней, и помечает все достижимые объекты как живые. 2. Sweep / Compact / Copy Phase (Очистка / Уплотнение / Копирование): Sweep: Удаляются непомеченные (неживые) объекты. Compact: Живые объекты перемещаются в начало области памяти, чтобы избежать фрагментации. Copy: Объекты копируются из одной области в другую (например, из Eden в Survivor Space). Java делит память на несколько регионов: Young Generation (Eden Space +