Куча (память)
Ку́ча — название структуры данных, с помощью которой реализована динамически распределяемая память приложения.
Размер кучи — размер памяти, выделенный операционной системой (ОС) для хранения кучи (под кучу).
Принцип работы
При запуске процесса ОС выделяет память для размещения кучи. В дальнейшем память для кучи (под кучу) может выделяться динамически.
Для хранения данных о том, какая область кучи является занятой, а какая — свободной, обычно используется дополнительная область памяти.
Перед началом работы программы выполняется инициализация кучи, в ходе которой память, выделенная под кучу, отмечается как свободная.
Алгоритмы и производительность
Куча представляет собой непрерывную область памяти, поделённую на занятые и свободные области (блоки) различного размера.
Пример реализации
Создание нескольких списков для хранения информации об областях одинаковых или близких размеров. Выбор списка в зависимости от размера области.