Куча в информационных технологиях
Ку́ча (от англ. heap – куча) в информационных технологиях, область динамически распределяемой (оперативной) памяти для структур данных, размер которых не может быть определён до момента исполнения программы; операционная система или программа может выделять из этой области для временного хранения данных блоки произвольного размера, обычно в порядке, именуемом «первый подходящий». Именно такое отсутствие чёткой упорядоченности, возможность произвольного доступа к объектам и асинхронность освобождения блоков памяти объясняет название термина – в противоположность стеку или очереди. Освобождаемые блоки памяти возвращаются в кучу, что сравнительно быстро приводит к её фрагментации. Если же освобождаемые блоки не возвращаются, то возникает проблема утечки памяти из кучи. Каждый объект в куче имеет свой адрес. Приложение может использовать несколько куч, в зависимости от типа и назначения хранимых в них объектов (Пройдаков, Теплицкий. 2015).