39 lines
2.2 KiB
Markdown
39 lines
2.2 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- зрелость/🌱
|
||
date: "[[2023-11-06]]"
|
||
zero-link:
|
||
- "[[00 Java разработка]]"
|
||
parents:
|
||
- "[[Garbage Collector]]"
|
||
linked:
|
||
- "[[Serial GC]]"
|
||
- "[[Concurrent Mark Sweep|Concurrent Mark Sweep]]"
|
||
---
|
||
Работает по тем же принципам, что и сборщик мусора [Scavenge](Serial%20GC.md), используя [Generational Collection](Generational%20Collection.md). Для молодого поколения используется [Copy Collector](Copy%20Collector.md), а для старого [Mark and Compact](Mark%20and%20Compact.md).
|
||
|
||
Отличие Parallel коллектора от [Serial](Serial%20GC.md) заключается в том, что он использует подход [Parallel Collection](Parallel%20Collection.md), то есть работает в несколько потоков во время [StopTheWorld](StopTheWorld.md).
|
||
|
||
Зеленые линии это потоки приложения, красные это потоки GC.
|
||
|
||
![](Pasted%20image%2020231107215457.png)
|
||
|
||
Также у этого коллектора есть возможность автоматической подстройки под требуемые параметры производительности и меньшие паузы на время сборок.
|
||
|
||
**Минусы:**
|
||
- Активное использование [StopTheWorld](StopTheWorld.md). Однако паузы уменьшаются за счет [Parallel Collection](Parallel%20Collection.md).
|
||
|
||
**Плюсы:**
|
||
- Малое потребление CPU на фоновую сборку мусора: 1%.
|
||
- Параллельная сборка молодого и старого поколения.
|
||
- Линейная [аллокация](Аллокация.md) объектов. Благодаря использованию [Mark and Compact](Mark%20and%20Compact.md).
|
||
|
||
**Где использовать:**
|
||
- Приложения для которых важна производительность.
|
||
- Железо с несколькими ядрами.
|
||
|
||
**Как включить:**
|
||
- `-XX:+UseParallelGC`
|
||
- `-XX:+UseParallelOldGC`
|