Упаковка (boxing) и распаковка (unboxing) в .NET тема: управление памятью и типами в .NET упаковка: преобразование значения типа-значения (value type) в ссылочный тип (object или интерфейс) как это работает: для…
Что представляет собой memory escape analysis и как определить размещение объекта в heap Область: управление памятью и оптимизация работы сборщика мусора Memory escape analysis — это анализ, который показывает,…
Что такое reference counting и как подсчет ссылок работает в сборке мусора? способ автоматического управления памятью для каждого объекта хранится счетчик ссылок при создании ссылки счетчик увеличивается, при удалении…
Ссылки strong, weak и unowned в Swift: сравнение weak и unowned strong — ссылка удерживает объект и не даёт удалить его из памяти weak — неудерживающая ссылка, которая может стать nil после удаления объекта unowned —…
Что такое боксинг и анбоксинг? Понятия из языков программирования, включая Java и C# Боксинг — преобразование примитивного значения (int, bool) в объект-обёртку Анбоксинг — получение примитивного значения обратно из…
понятие из функционального программирования и JS функция, объединённая с лексическим окружением — ссылками на внешние переменные сохраняет возможность обращаться к переменным внешней функции после завершения её работы…
Что такое замыкания (closures)? понятие из функционального программирования и JS объединение функции с её лексическим окружением, то есть переменными внешнего скоупа сохраняет возможность обращаться к переменным после…
Что называют корнями (roots) сборщика мусора и с чего начинается маркировка? GC: управление памятью во время работы рантайма Корни (roots) — это объекты или ссылки, доступные программе в текущий момент К ним обычно…
NSLock в Foundation для iOS/macOS представляет собой обычный (нерекурсивный) лок Рекурсивный лок позволяет одному потоку захватывать один и тот же лок несколько раз без возникновения дедлока При повторной попытке…
В C# string — ссылочный и неизменяемый тип Переменная хранит ссылку на объект в управляемой куче string представляет класс System.String и обладает свойством immutable Интернирование (string pool) объединяет…