Есть ли в PHP сборщик мусора и как работает refcount? Для управления памятью PHP применяет подсчёт ссылок (refcount) У каждого значения есть счётчик ссылок: при копировании он увеличивается, а при удалении —…
Для чего нужна куча в .NET и как с ней работает Garbage Collector? Куча предназначена для динамического выделения памяти В ней размещаются объекты ссылочных типов, срок жизни которых может превышать время работы…
Для поиска дедлоков, или взаимоблокировок, СУБД анализирует граф блокировок: транзакции представлены узлами, а зависимости по ресурсам — связями В PostgreSQL периодически выполняется поиск циклов в wait-for graph…
Как Redis-кеширование используется для оптимизации? Redis — это In-Memory хранилище с минимальной задержкой Его применяют для хранения данных, которые запрашиваются особенно часто Наиболее распространённый вариант —…
Как в JavaScript работает сборщик мусора и какие стратегии управления памятью применяются? управление памятью выполняется автоматически внутри движка JS основные подходы: подсчет ссылок и маркировка с очисткой…
Сборщик мусора в долгоживущих воркерах категория: управление памятью в асинхронных воркерах working context: воркеры работают длительное время, сохраняя состояние и большие объемы данных GC запускается периодически и…
Как устроен сборщик мусора в Python? управление памятью основано на подсчёте ссылок (reference counting) для каждого объекта ведётся счётчик ссылок; когда он становится равен 0, объект удаляется освобождение памяти…
data pipeline — это цепочка последовательных операций обработки данных надёжность достигается за счёт обработки ошибок, повторных попыток и мониторинга масштабируемость обеспечивают распределённые системы и…
Автоматически освобождает память, выделенную JVM Находит объекты, на которые больше нет ссылок и которые стали недостижимыми Организует кучу по поколениям: Young, Old и Permanent (метаданные) Базовый подход:…
Паттерн IDisposable в .NET предназначен для управления неуправляемыми ресурсами. Метод Dispose() позволяет пользователю явно освободить занятые ресурсы. Dispose можно вызвать вручную либо автоматически с помощью…
В Go применяется параллельный конкурентный GC В основе лежит трёхфазный алгоритм: маркировка (tracing), приостановка мира и очистка На этапе маркировки GC определяет объекты, которые остаются достижимыми…
Типичный процесс непрерывной интеграции (CI pipeline) Автоматическая сборка проекта и выполнение тестов Сборка приложения после каждого коммита Запуск юнит- и интеграционных тестов Проверка кода с помощью статического…