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