Перейти к основному содержимому

Память

📄️ Что такое память?

Память — это иерархическая система ячеек с адресами, где хранятся данные и код программы (биты, байты). Программы используют различные области памяти, такие как Стек (для локальных переменных, быстро) и Куча (для динамических данных, медленнее). Программист управляет выделением и освобождением памяти, используя указатели, чтобы избежать утечек и эффективно использовать ресурсы, хотя современные языки часто имеют автоматические сборщики мусора чтобы упростить этот процесс.

📄️ Что такое утечка памяти и как она образуется?

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