В чем основные отличия между сборщиками мусора Java 7 G1 и сборщиком мусора Monen? Я знаю, что они оба имеют GC поколения, но насколько они отличаются по производительности и мудрой архитектурой?Каковы основные отличия между G1GC и SGen GC
ответ
Во-первых, позволяет просматривать как GC коллекторы:
- GC Mono можно найти в:
- G1GC описан, например. в How does the Garbage-First Garbage Collector work?.
Working with SGen определяет, что SGen коллектор поколения, который реализует два алгоритма GC для своего основного Отвала: (я) копирование коллектор и (II) и разметка развертка.
Таким образом, хотя SGEn и G1 являются генерационными, фундаментальное отличие состоит в том, что генераторы G1 разделены на множество блоков одинакового размера, в то время как SGen применяет более традиционный подход - одно поколение представлено как одно непрерывное пространство.
Кроме того, копировальный коллектор SGen по своей природе уплотняет. С другой стороны, алгоритм Mark-And-Sweep похож на сборщик CMS Java. И, таким образом, вы можете спросить себя, в чем разница между CMS и G1. Существует много информации об их различиях.
Спасибо за ваш комментарий. Но я прошу отличить один из ваших комментариев - SGen похож на сборщик CMS Java. CMS не имеет тип уплотнения, где SGen подобен G1. –
Спасибо, я снова проверил описание SGen и обновил ответ. Похоже, он реализует два сборщика: Копировальный коллектор и MAKK-и-Sweep. Первый - уплотнение, второе - нет. –