Сборка мусора
Как только определено множество недостижимых объектов, сборщик мусора может освободить память, занимаемую ими, и оставить остальное как есть. Также можно после освобождения памяти переместить все или часть оставшихся объектов в другие области памяти, обновив вместе с этим все ссылки на них. Эти два варианта реализации называются, соответственно, "неперемещающим" и "перемещающим".
Си (язык программирования)
Некоторые конкретные реализации и сторонние библиотеки предоставляют такие средства, как подсчёт ссылок и слабые ссылки, умные указатели, а также ограниченные формы сборки мусора, но все эти средства не являются стандартными, что, естественно, ограничивает их применение.