В CPython подсчёт ссылок служит основным механизмом управления памятью. Напрямую отключить его нельзя, если не модифицировать сам интерпретатор. Есть альтернативный вариант: gc.disable() отключает сборщик циклических…
Нужно ли указывать [weak self] внутри UIView.animate? (Нет) Контекст: анимации в UIKit и замыкания UIView.animate принимает non-escaping closure, которое не сохраняется после завершения выполнения Сильного захвата…
Нужно ли учитывать различия между структурой и классом при передаче больших данных? Контекст: языки, поддерживающие типы struct и class, например C# и Swift Структуры — value type: при передаче копируются, поэтому…
Почему Addressables удобнее чистых AssetBundle? Работа с ключами: Addressables обращаются к ресурсам по логическим ключам, не привязываясь к жестко заданным путям. Автоматическая обработка зависимостей: система…
Почему boxing значимого типа в ссылочный считается дорогой операцией? контекст: управление памятью и производительность при упаковке для значимого типа создаётся объект-обёртка в куче (heap) выделение памяти в куче…
В большинстве языков строки являются иммутабельными, то есть неизменяемыми При каждой конкатенации создаётся новый массив байт, куда копируются исходные данные Внутри цикла это приводит к постоянному выделению памяти…
Почему объект WebRequest необходимо освобождать из памяти? корректное управление ресурсами HTTP-запросов WebRequest задействует несколько ресурсов: сокеты, соединения и потоки неосвобождённые объекты удерживают…
Сколько стеков и куч может быть в .NET-приложении и что определяет их количество? стек выделяется для каждого потока, а куча используется для объектов число стеков соответствует количеству потоков (Thread) каждый…
вопрос относится к работе сборщика мусора (Garbage Collector, GC) в современных GC обычно применяются алгоритмы трассировки (mark-and-sweep) они помечают объекты, достижимые от корневых ссылок (root references)…
Ключевое отличие Application Context от Activity Context Application Context – контекст приложения целиком: он существует всё время работы процесса и не связан с пользовательским интерфейсом Activity Context –…
Архитектура: Kafka представляет собой распределённый журнал сообщений (log), а RabbitMQ — брокер очередей Модель доставки: Kafka передаёт поток данных и долго хранит сообщения; RabbitMQ использует push-модель и…