--- aliases: tags: - зрелость/🌱 date: "[[2023-11-06]]" zero-link: - "[[../../../../garden/ru/meta/zero/00 Java разработка]]" parents: - "[[../../../../garden/ru/dev/java/gc/Garbage Collector]]" linked: --- Это временная остановка всех процессов программы для выполнения сборки мусора. При остановке намного проще выполнять сборку мусора. ## Marking Так как граф объектов "заморожен", легко определить живые/мертвые объекты. ## [Copy Collector](Copy%20Collector.md) Просто перемещать объекты в heap. Так как бизнес-логика не работает, heap может находится в не консистентном состоянии во время переноса. ## Выводы **Минусы:** - Приложение останавливается на все время сборки. Это время может достигать десятки секунд, что недопустимо для некоторых систем, например, систем реального времени. - Скорость работы зависит от размера heap и от количества живых объектов, которые необходимо будет переносить. **Где можно использовать:** - В консольных одно-пользовательских приложениях - В приложениях, где выполнение бизнес-логики занимает десятки минут.