Примитивные значения хранятся по значению: string, number, boolean, null, undefined, symbol и bigint При присваивании или передаче примитива копируется его значение Объекты (Array, Function, Object) хранятся по ссылке…
Устройство List<T> и изменение вместимости массива List<T> в .NET представляет собой динамический массив — собственную оболочку над обычным массивом Элементы хранятся в массиве T[], который изначально имеет…
Как в Go обрабатываются nil и вызовы методов на nil-ресивере nil в Go служит нулевым значением для указателей, интерфейсов, слайсов, карт, каналов и функций У метода может быть ресивер-указатель, значение которого в…
Memory barriers и атомарные операции в Go Memory barriers — это низкоуровневые инструкции процессора и компилятора, управляющие порядком операций с памятью. Они не позволяют CPU или компилятору переупорядочить чтения…
Слайс представляет собой структуру поверх массива, содержащую указатель, длину и capacity Когда length становится равен capacity, для слайса выделяется новый массив Чтобы не выполнять копирование при каждом…
Работа со слайсами (Go slices) Удаление элемента по индексу Для этого объединяют два подслайса: s = append(s[:i], s[i+1:]...) В результате формируется новый слайс без элемента с индексом i, а его длина уменьшается.…
** контролируйте длительность операций в Go через context, задавая таймаут и отмену с помощью context.WithTimeout и Done(). Это позволяет ограничивать время выполнения и корректно освобождать ресурсы.
Механизм управления памятью Swift для объектов классов Отслеживает число активных ссылок на объект — счетчик ссылок При добавлении ссылки счётчик увеличивается на 1, при её удалении — уменьшается на 1 После достижения…
Снижение объёма мусора при инициализации Spine-анимаций Проанализировал работу Spine runtime и источники нагрузки на GC Кэшировал объекты (Skeleton, AnimationState), чтобы использовать их повторно Применял пул…
динамический массив, использующий динамическое выделение памяти перед добавлением проверяется наличие свободной ёмкости если свободного места недостаточно — резервируется дополнительная память (примерно в 2 раза…