Трёхцветный GC в Go: как маркер не теряет живые объекты — и что будет, если убрать барьер записи
Трёхцветная маркировка — это не «алгоритм сборки мусора», а протокол сосуществования коллектора и программы, которая прямо во время обхода переписывает граф объектов. Разбираю инвариант, барьер записи (включая гибридный барьер Go 1.8), рождение объектов чёрными и mark assist — и даю интерактивную песочницу, где можно выключить барьер и своими глазами увидеть, как GC освобождает живой объект.