Go, память и инициализация make инициализирует срезы, карты и каналы создаёт внутреннюю структуру, не возвращая указатель на неё new выделяет память для любого типа и возвращает указатель на его нулевое значение make…
Отличие zero value слайса от zero value мапы Слайс и мапа как контейнеры в Go Zero value слайса — это nil-срез с длиной и ёмкостью 0, который указывает на nil Чтение разрешено, однако запись невозможна без…
Ключевые различия Dispose и Finalize в C# Dispose — метод интерфейса IDisposable, предназначенный для явного освобождения неуправляемых ресурсов. Его можно вызвать вручную либо использовать конструкцию using, чтобы…
Garbage Collector (GC): автоматический сборщик мусора, который периодически анализирует объекты и освобождает память, больше не используемую приложением. Работает асинхронно, применяя алгоритмы вроде mark-and-sweep…
Область памяти: Stack предназначен для локальных переменных и вызовов функций, а Heap — для динамических данных и объектов с произвольным сроком жизни Управление: Stack освобождается автоматически по принципу LIFO,…
Ключевые различия между типами значений и ссылочными типами область памяти: value type содержит сами данные, тогда как reference type — ссылку на объект копирование: при присваивании value type дублируется значение, а…
Статические и динамические библиотеки: как меняется размер Статическая библиотека подключается к программе на этапе компиляции её код встраивается в бинарник и увеличивает его размер готовый файл самодостаточен и не…
Сборщик мусора и счётчик ссылок Сборщик мусора (GC) автоматически управляет памятью Счётчик ссылок освобождает объект, когда число ссылок на него достигает 0 GC находит неиспользуемые объекты, обходя граф ссылок…
Метод Dispose предназначен для освобождения управляемых и неуправляемых ресурсов, включая файлы, соединения и память Если Dispose не вызвать, ресурсы могут освобождаться с задержкой или не освобождаться вообще, что…
контекст: производительность в языках с value- и reference-типами value-типы размещаются в стеке, а reference-типы — в куче доступ к value-типам обычно быстрее благодаря размещению в стеке, низкой задержке и лучшей…
Что в C# следует оборачивать в using? объекты, реализующие интерфейс IDisposable операции с неуправляемыми ресурсами: файлами, сокетами и подключениями к БД ресурсы, для которых требуется автоматический вызов метода…