В случае G1 существует способ, которым эти два можно дифференцировать (это не относится ко всем алгоритмам GC).
G1 использует области для кучи (обычно размер 1 МБ). Эти области памяти сгруппированы вместе, чтобы сформировать молодое и старое поколения как отдельные логические области. Для коллекции старого поколения G1 будет пытаться освободить достаточно места, просто восстанавливая регионы, в которых больше нет живых данных (очень дешево), или копировать живые данные из малонаселенных регионов в пустые регионы (таким образом максимизируя, сколько живых данных в этомрегион).
Однако, если G1 не может освободить достаточно места таким образом, он должен вернуться к полной коллекции сжатия.
Это объясняет, как существует различие между основной коллекцией и полной GC.