Внутреннее устройство сборщика мусора Garbage-First в Java VM

Размер кучи Java G1 соблюдает стандартные правила при изменении размера кучи Java, используя -XX:InitialHeapSize в качестве минимального размера кучи Java, -XX:MaxHeapSize в качестве максимального размера кучи Java, -XX:MinHeapFreeRatio для минимального процента свободной памяти, -XX:MaxHeapFreeRatio для определение максимального процента свободной памяти после изменения размера. Сборщик G1 учитывает изменение размера кучи Java только во время пауз Remark и Full GC. Этот процесс может освободить память или выделить ее из операционной системы. Определение размера фазы "только для молодых" G1 всегда измеряет молодое поколение в конце нормальной молодой сборки для следующей фазы мутатора. Таким образом, G1 может соответствовать целям времени паузы, которые были установлены с помощью -XX:MaxGCPauseTimeMillis и -XX:PauseTimeIntervalMillis на основе долгосрочных наблюдений фактического времени паузы. Он учитывает, сколько времени потребовалось молодым поколениям того же размера,...