Почему возникает StackOverflowError? ошибка, связанная с переполнением стека вызовов в памяти появляется при рекурсивных вызовах, для которых не предусмотрен базовый случай стек переполняется из-за чрезмерно глубокой…
Сколько стеков и куч может быть в .NET-приложении и что определяет их количество? стек выделяется для каждого потока, а куча используется для объектов число стеков соответствует количеству потоков (Thread) каждый…
Разница между runtime.Goexit() и os.Exit() и случаи применения runtime.Goexit(): прекращает работу текущей goroutine, не затрагивая остальные os.Exit(): сразу завершает весь процесс, не выполняя defer Goexit()…
Чем различаются манифестная и runtime-регистрация BroadcastReceiver? Регистрация в манифесте: статическая: ресивер доступен даже при выключенном приложении принимает широковещательные интенты от системы или других…
Как работает runtime в Go? Go runtime — встроенная среда выполнения, которая обеспечивает конкурентность, сборку мусора, управление памятью и планирование. К его основным компонентам относятся goroutine scheduler,…
struct представляет собой значимый тип в .NET методы GetType и ToString унаследованы от System.ValueType → Object GetType возвращает runtime-тип, используя механизмы рефлексии Если ToString не переопределён, по…
Что происходит при выделении 1 КБ памяти? Операционная система получает запрос через API (malloc/new) ОС находит свободный блок размером не менее 1 КБ с учётом выравнивания Если свободного блока нет, система выделяет…
Что называют корнями (roots) сборщика мусора и с чего начинается маркировка? GC: управление памятью во время работы рантайма Корни (roots) — это объекты или ссылки, доступные программе в текущий момент К ним обычно…
Что такое опциональная цепочка в JS? оператор, который обеспечивает безопасный доступ к вложенным свойствам синтаксис: obj?.prop?.subprop не допускает ошибку TypeError при обращении к null или undefined возвращает…