Темы

Управление памятью

Memory Management · 44 статей

  1. Сборка мусора в управлении памятью

    Сборка мусора в управлении памятью: автоматическая очистка неиспользуемой памяти. Методы, влияние на производительность, альтернативы и ресурсы.

    #1483 · 1 мин чтения

  2. Утечки памяти в компьютерных программах

    Утечка памяти в программировании: что это, причины и последствия. Неправильное управление памятью приводит к замедлению работы и сбоям программ.

    #4740 · 5 мин чтения

  3. Подсчет ссылок: техника отслеживания ресурсов в программировании

    Подсчет ссылок в программировании: техника отслеживания ресурсов, используемая в алгоритмах сборки мусора. Графы ссылок и управление памятью.

    #6410 · 11 мин чтения

  4. Ошибка сегментации: причины и последствия

    Ошибка сегментации (segfault): причины, последствия и обработка в программировании. Защита памяти, сбои программ и аварийное завершение процессов.

    #6970 · 4 мин чтения

  5. Кодирование CDR: сжатое представление списков Lisp

    CDR-кодирование: сжатое представление списков Lisp, разработанное MIT. Экономит память, улучшает производительность за счет оптимизации ссылок на данные.

    #11243 · 1 мин чтения

  6. Общие библиотеки и разделяемый код

    Общие библиотеки: что это такое? Использование кода разными программами, динамическая и статическая линковка, экономия места и ресурсов.

    #15142 · 7 мин чтения

  7. Управление памятью компьютера: Методологии и подходы

    Управление памятью компьютера: выделение и освобождение ресурсов для программ операционной системой. Важно для многозадачности и эффективной работы.

    #15510 · 9 мин чтения

  8. Ленивая инициализация в программировании и структурах данных

    Ленивая инициализация в программировании: отложенное создание объектов и вычислений для оптимизации ресурсов. Узнайте, как это работает и зачем нужно!

    #21231 · 2 мин чтения

  9. Переполнение буфера в динамической памяти (куче)

    Переполнение буфера в куче: уязвимость, позволяющая злоумышленникам перезаписывать данные и структуры в памяти, включая указатели функций. Безопасность ПО.

    #61781 · 1 мин чтения

  10. Слабые ссылки в программировании

    Слабые ссылки в программировании: что это такое и как работают? Предотвращение утечек памяти и разрыв циклических ссылок в языках C#, Java, Python и др.

    #63716 · 5 мин чтения

  11. Жизненный цикл объектов в программировании

    Жизненный цикл объекта в ООП: создание, использование, уничтожение. Управление памятью, сборка мусора, время жизни объектов в разных языках программирования.

    #64302 · 10 мин чтения

  12. Вектор описания данных: структура и применение в программировании.

    Вектор допов: структура данных в программировании для хранения информации о памяти объекта, особенно массивов. Размер, тип элементов и количество.

    #86208 · 2 мин чтения

  13. Динамическое управление памятью в языке C

    Динамическое управление памятью в C: функции `malloc`, `calloc`, `realloc`, `free`. Выделение и освобождение памяти, оптимизация производительности и альтернативы `new/delete`.

    #89057 · 9 мин чтения

  14. Копирование при записи: эффективная техника дублирования данных

    Копирование при записи (COW) – эффективная техника управления ресурсами в программировании для быстрого дублирования данных, особенно в ОС и fork().

    #92845 · 2 мин чтения

  15. Поиск и отладка проблем с памятью в программном обеспечении

    Поиск ошибок памяти в программах: от утечек до переполнений буфера. Обзор отладчиков памяти, мониторинга выделения/освобождения памяти и методов отладки.

    #96857 · 3 мин чтения

  16. Трассирующая сборка мусора: управление памятью в программировании

    Сборка мусора (tracing garbage collection) – автоматическое управление памятью в программировании. Определение и удаление неиспользуемых объектов.

    #97861 · 17 мин чтения

  17. Указатели в программировании

    Указатели в программировании: что это такое? Хранение адресов памяти, разыменование, аналогия с номерами страниц. Основы работы с памятью компьютера.

    #102066 · 21 мин чтения

  18. Паттерн «Одноразовый посетитель» в программировании

    Паттерн Single Serving Visitor в программировании: оптимизация для одноразовых посетителей. Экономия памяти при обходе и выполнении простых задач.

    #125050 · 1 мин чтения

  19. Временные файлы: создание, использование и удаление

    Временные файлы: что это такое и зачем нужны? Создаются для хранения данных программами, при нехватке памяти или для обмена данными. Узнайте больше!

    #125577 · 2 мин чтения

  20. Трассировка стека вызовов функций

    Трассировка стека: отчёт о текущих фреймах стека во время выполнения программы. Объяснение работы стека и кучи в программировании.

    #130381 · 2 мин чтения

  21. PurifyPlus: Отладчик памяти для C и C++

    PurifyPlus: отладчик памяти для C/C++. Обнаружение ошибок доступа к памяти, динамическая верификация. Альтернатива Valgrind, Insure++. IBM, UNICOM Systems.

    #130900 · 4 мин чтения

  22. Принцип RAII: Управление ресурсами через жизненный цикл объектов

    RAII: идиома программирования для управления ресурсами в C++ и других языках. Автоматическое выделение/освобождение ресурсов через конструкторы/деструкторы.

    #134586 · 2 мин чтения

  23. Проблема Funarg: реализация функций первого класса и управление стеком

    Проблема funarg в программировании: трудности реализации функций как объектов первого класса при использовании стековой памяти. Решения: замыкания, запрет ссылок.

    #147294 · 5 мин чтения

  24. Висячие и неинициализированные указатели в программировании

    Висячие и "дикие" указатели в программировании: что это, причины возникновения и опасные последствия. Нарушения безопасности памяти и непредсказуемое поведение.

    #183176 · 2 мин чтения

  25. Статические переменные в программировании

    Статические переменные в программировании: что это, как работают и чем отличаются от автоматических и динамических. Рассказываем о времени жизни переменных.

    #225684 · 2 мин чтения

  26. Блок информации потока (TIB/TEB) в Windows: структура и управление стеком

    Блок информации потока (TIB/TEB) в Win32: структура данных для получения информации о потоке без API. Доступ через сегменты FS/GS. PEB, IAT и аргументы процесса.

    #232413 · 1 мин чтения

  27. Управление памятью в многопоточных приложениях: Thread Local Storage

    Локальное хранилище потоков (TLS) в программировании: управление памятью, доступ к глобальным данным в многопоточных системах. Оптимизация и ограничения TLS.

    #238125 · 4 мин чтения

  28. Системные ресурсы в вычислительной технике

    Системные ресурсы компьютера: что это такое? Определение, виды (физические и виртуальные), управление ресурсами и предотвращение утечек. Облачные вычисления.

    #245943 · 2 мин чтения

  29. Пулы памяти: метод динамического выделения памяти

    Динамическое выделение памяти: пулы памяти для эффективного управления в реальном времени. Альтернатива malloc/new, избегающая фрагментации и повышающая производительность.

    #254156 · 2 мин чтения

  30. Финалайзеры и деструкторы в программировании

    Финалайзеры в программировании: методы очистки объектов перед удалением. Разбор, проблемы использования и альтернативы (Dispose Pattern). C++, Smalltalk.

    #254171 · 9 мин чтения

  31. Распределение памяти на стеке в вычислительных системах.

    Стеки в компьютерной архитектуре: область памяти для данных LIFO. Используются для хранения локальных переменных и адресов возврата функций.

    #256366 · 4 мин чтения

  32. Утечка дескрипторов: причины и последствия

    Утечка дескрипторов: тип ошибки ПО, приводящий к исчерпанию ресурсов и снижению производительности. Причины, последствия и связь с утечками памяти.

    #263812 · 1 мин чтения

  33. Недостаток данных в буфере: причины и последствия

    Буферный недолив: что это такое? Причины и последствия, когда скорость чтения данных превышает скорость их записи в буфер. Объяснение простыми словами.

    #275845 · 4 мин чтения

  34. Циклические зависимости в программных модулях

    Циклические зависимости в ПО: что это, почему вредны и когда допустимы? Антипаттерн в разработке, особенности в функциональном программировании.

    #327527 · 1 мин чтения

  35. Пул объектов: шаблон проектирования для повышения производительности.

    Пул объектов: паттерн проектирования для повышения производительности. Повторное использование объектов вместо создания/удаления. Оптимизация и сложность управления временем жизни.

    #342086 · 6 мин чтения

  36. Раздел BSS: Статически выделяемые переменные без инициализации

    BSS секция в программировании: область для статических переменных без начальных значений. Уменьшает размер файла, оптимизирует загрузку программы.

    #372216 · 4 мин чтения

  37. Нехватка памяти: причины и последствия

    Нехватка памяти (OOM): что это, причины возникновения и как виртуальная память помогает избежать этой ошибки. Оптимизация использования RAM.

    #382344 · 3 мин чтения

  38. Фрагментация памяти: причины и последствия

    Фрагментация памяти: что это такое и как она влияет на производительность компьютера? Узнайте о причинах и последствиях неэффективного использования дискового пространства.

    #413520 · 12 мин чтения

  39. Механизм управления памятью: Slab-аллокация

    Эффективное управление памятью: Slab allocation – механизм для снижения фрагментации и повторного использования памяти под объекты одного типа. Solaris 2.4.

    #414406 · 3 мин чтения

  40. Управление освобождением памяти и сборка мусора в компьютерных системах.

    Освобождение памяти в программировании: что такое "мусор", синтаксический и семантический мусор, и зачем нужна деаллокация для эффективного использования ресурсов.

    #420215 · 3 мин чтения

  41. Ручное управление памятью в программировании

    Управление памятью в программировании: ручное выделение/освобождение памяти (C, C++), сборка мусора (Java, Swift). Методы и история развития.

    #420573 · 5 мин чтения

  42. Алгоритм Чени для сбора мусора: метод "останови и скопируй"

    Алгоритм Чейни: эффективный метод трассировочной сборки мусора в программировании. Копирование живых объектов между полупространствами для оптимизации памяти.

    #441946 · 3 мин чтения

  43. Direct binding

    #503257 · 1 мин чтения

  44. Storage violation

    #505765 · 1 мин чтения