digital-garden/knowledge/dev/java/gc/StopTheWorld.md

28 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 и от количества живых объектов, которые необходимо будет переносить.
**Где можно использовать:**
- В консольных одно-пользовательских приложениях
- В приложениях, где выполнение бизнес-логики занимает десятки минут.