Skip to main content

Что такое подсчет ссылок?

Подсчет ссылок - это метод компьютерного программирования, используемый для упрощения управления памятью, позволяющий компьютеру мгновенно узнать, когда «безопасно» освободить определенное значение или блок значений из памяти. При программировании экономия имеет решающее значение, так что программы могут выполняться на самом широком диапазоне компьютерного оборудования. Оперативная память (RAM) является важным, но ограниченным ресурсом для компьютера. Хранение данных программы, хранящихся в ОЗУ, является одним из самых быстрых способов улучшить время отклика программы, но чрезмерное потребление системной ОЗУ делает программу нехваткой ресурсов, что является нежелательной характеристикой с точки зрения конечного пользователя. Подсчет ссылок помогает сбалансировать это, сохраняя данные в ОЗУ столько времени, сколько необходимо программе.

Техника подсчета ссылок работает, отслеживая количество и название объектов, которые использует программа. Думайте о компьютерной памяти, как о детской комнате, заполненной игрушками, а о хранилище на жестком диске, как о сундуке с игрушками в комнате. Подсчет ссылок отслеживает конкретные «игрушки» (объекты), с которыми играет программа (ребенок) в любое время; другими словами, количество объектов, которые в данный момент находятся на «этаже». Как только программа перестает играть с определенным объектом, подсчет ссылок принимает это к сведению и отправляет объект обратно в хранилище на жестком диске, а не позволяет ему продолжать занимать место в ОЗУ.

Когда дело доходит до преимуществ, основным преимуществом подсчета ссылок является непосредственность. В тот момент, когда программа завершает работу с объектом, она убирает его, освобождая место для других объектов в программе и для других программ на компьютере. С точки зрения конечного пользователя, это очень чистый подход; программа никогда не занимает больше памяти, чем требуется в любое конкретное время.

Недостатком этой техники является экономика. Для того, чтобы подсчет ссылок работал эффективно, он должен использовать постоянное устройство мониторинга для управления количеством объектов, которые используются одновременно. Это потребляет небольшую часть памяти и процессорной мощности, увеличивая нагрузку на процессор программы. В результате решение об использовании подсчета ссылок становится уравновешивающим фактором, определяющим, хочет ли программист распределить дополнительную нагрузку на ЦП или ОЗУ.