Утечки памяти

Процесс утечки памяти представляет собой постепенное увеличение объема оперативной памяти, которую потребляет запущенная программа. Как правило, является следствием допущенной ошибки в программе, из-за которой неиспользуемая память не освобождается.

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

Существуют следующие способы предотвращения утечки памяти:

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

Смотрите также

  • период время выполнения,
    за который выполняется программа
  • Исходные данные,
    которые представляют собой местоположение данных
  • совокупность программ ПО,
    которая обеспечивает функционирование приложений
  • совокупность программ ОС,
    которая обеспечивает управление системами компьютера