Почему 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-модель и…
Go, память и инициализация make инициализирует срезы, карты и каналы создаёт внутреннюю структуру, не возвращая указатель на неё new выделяет память для любого типа и возвращает указатель на его нулевое значение make…
Отличие zero value слайса от zero value мапы Слайс и мапа как контейнеры в Go Zero value слайса — это nil-срез с длиной и ёмкостью 0, который указывает на nil Чтение разрешено, однако запись невозможна без…
Ключевые различия Dispose и Finalize в C# Dispose — метод интерфейса IDisposable, предназначенный для явного освобождения неуправляемых ресурсов. Его можно вызвать вручную либо использовать конструкцию using, чтобы…
Отличие escaping- и non-escaping-замыканий Swift и управление временем жизни объектов non-escaping: замыкание выполняется только в рамках функции, которой оно передано, и завершается до её окончания escaping:…