Разница между shallow copy и deep copy копирование объектов в программировании shallow copy создает копию внешнего уровня и сохраняет ссылки вложенные объекты при этом не дублируются, а продолжают ссылаться на…
Чем отличаются weak и unowned в Swift и в каких случаях выбирают unowned? weak — ссылка, которая при уничтожении объекта может стать nil; поэтому она всегда Optional unowned — слабая ссылка без Optional,…
контекст: Go, выделение памяти new: резервирует память с нулевой инициализацией для указанного типа и возвращает указатель make: инициализирует и возвращает готовые к применению слайсы, карты, каналы new →…
Чем отличаются типы значений от ссылочных типов Область: управление памятью в языках программирования Типы значений (примитивы) содержат сами данные и размещаются непосредственно в стеке Ссылочные типы содержат в…
Всегда ли value type размещается в стеке? Исключения Value type обычно размещается в стеке Исключения: Boxing: value type преобразуется в объект и размещается в куче Поля ссылочных типов (классов): поля value type…
Контекст: управление памятью в C# В C# типы разделяются на значимые (value types) и ссылочные (reference types). Значимые типы размещаются в стеке (stack) либо непосредственно входят в состав объектов. Ссылочные типы…
технология оптимизации копирования данных подходит для иммутабельных и разделяемых структур данных применяется в файловых системах, включая Btrfs и ZFS используется для работы со строками, листами и структурами в…
Есть ли в PHP сборщик мусора и как работает refcount? Для управления памятью PHP применяет подсчёт ссылок (refcount) У каждого значения есть счётчик ссылок: при копировании он увеличивается, а при удалении —…
Зачем в ARC используется механизм side table? Контекст: управление памятью в Objective-C (ARC) Side table представляет собой вспомогательную структуру данных для хранения дополнительной информации об объекте, которую…
Основой HTTP/3 служит протокол QUIC QUIC работает поверх UDP, а не TCP UDP помогает добиться низкой задержки, поскольку для него не требуется устанавливать соединение Контроль потока и исправление ошибок QUIC…
Финализатор vs IDisposable финализатор — механизм автоматического очищения ресурсов, то есть деструктор его асинхронно вызывает GC, причем точный момент заранее неизвестен IDisposable — интерфейс для явного…