Назад к вопросам
Junior — Middle
80
Объясните, что подразумевается под понятием утечка памяти в контексте программирования.
Ответ от нейросети
sobes.tech AI
Утечка памяти — это ситуация, когда программа выделяет память (например, с помощью malloc в C), но затем не освобождает её после использования. В результате эта память остаётся занята и недоступна для повторного использования, что со временем может привести к исчерпанию доступной памяти и снижению производительности.
Пример утечки памяти в C:
#include <stdlib.h>
void leak() {
int* ptr = malloc(sizeof(int) * 10);
// Используем ptr
// Но забываем вызвать free(ptr);
}
Здесь память выделяется, но не освобождается, что приводит к утечке.
В языках с автоматическим управлением памятью (например, Java) утечки могут возникать, если объекты остаются доступны через ссылки, хотя они больше не нужны, что мешает сборщику мусора освободить память.