механизм надежной установки соединения в TCP три шага: SYN → SYN-ACK → ACK SYN: клиент начинает процедуру соединения SYN-ACK: сервер подтверждает запрос клиента и выделяет необходимые ресурсы ACK: клиент подтверждает,…
Разница между value receiver и pointer receiver При использовании value receiver метод получает копию значения структуры С pointer receiver метод получает указатель на исходную структуру Изменения внутри метода с…
управление памятью в языках со сборкой мусора (Java, C#) сильная ссылка — пока ссылка существует, объект остаётся живым слабая ссылка — не мешает сборщику мусора удалить объект сильные ссылки приводят к удержанию…
Коэффициент расширения List при превышении capacity Контекст: динамические массивы, включая List в .NET, Java и других платформах Когда capacity оказывается недостаточной, List увеличивает размер своего внутреннего…
Память обычно разделяют на стек и кучу. В стеке находятся локальные переменные и параметры функций. Размер стека ограничен, зато выделение и освобождение памяти выполняются быстро по принципу LIFO. В куче размещаются…
Как связаны переменные, ссылки и объекты в Python Python использует динамическую типизацию, а управление объектами в памяти основано на ссылках. Переменная представляет собой имя-ссылку на объект в памяти, а не…
Механизм управления памятью Swift для объектов классов Отслеживает число активных ссылок на объект — счетчик ссылок При добавлении ссылки счётчик увеличивается на 1, при её удалении — уменьшается на 1 После достижения…
Как в куче организована память объекта ссылочного типа? управление памятью объектов в куче объект представлен блоком памяти, в котором хранятся его данные каждый объект содержит метаданные, включая ссылку на тип в…
Как работают переменные в Python переменная представляет собой имя, которое ссылается на объект в памяти переменные не содержат сами данные, а только указывают на соответствующие объекты каждый объект в Python…
Синхронизация доступа к переменной Мьютексы (Mutexes) — не позволяют другим потокам обращаться к данным, пока блокировка не будет снята RW-локи (Read-Write Locks) — допускают одновременное чтение несколькими потоками,…
Хранение weak-ссылок в массиве, например на UIViewControllers context: iOS/Swift, память и ARC стандартные коллекции не хранят weak-ссылки напрямую, поскольку для них требуется специальный тип-обертка слабую ссылку…
Работа с БД/Оптимизация: Применять пагинацию либо потоковое чтение (cursor/stream), разделяя выборку на управляемые части Извлекать только нужные поля, а не всю строку целиком (projection) Выделять память для данных…