Чем отличаются типы значений от ссылочных типов Область: управление памятью в языках программирования Типы значений (примитивы) содержат сами данные и размещаются непосредственно в стеке Ссылочные типы содержат в…
Память под строки выделяется в heap Каждая строка представляет собой объект класса String Строковые литералы размещаются в String Pool — специальном пуле строк в permgen/metaspace String Pool снижает расход памяти…
Где в памяти процесса размещаются динамически загружаемые библиотеки? загружаются в адресное пространство процесса размещаются в сегменте dynamic/shared libraries (обычно в области heap/mmap) контролируются…
Для чего нужна куча в .NET и как с ней работает Garbage Collector? Куча предназначена для динамического выделения памяти В ней размещаются объекты ссылочных типов, срок жизни которых может превышать время работы…
Как в Go обрабатываются ошибки и паники? ошибка представляется как значение через интерфейс error после вызова функции выполняется явная проверка (if err != nil) паника возникает при критических ошибках, например при…
Чем статическая типизация Go отличается от утиной В Go: применяется строгая статическая типизация тип переменной определяется при её объявлении ошибки, связанные с типами, компилятор обнаруживает до запуска программы…
Память JVM разделена на две основные области: heap и stack В stack находятся данные локальных переменных и информация о вызовах функций Организация stack основана на принципе LIFO, поэтому доступ к данным происходит…
Массивы размещаются в непрерывной области памяти: их размер фиксирован, а элементы находятся последовательно Срез представляет собой структуру-обёртку, содержащую указатель на массив, длину и capacity Capacity — это…
определяется используемым языком и типом данных по значению: функция получает копию данных (примитивные типы в C, Java, Python) по ссылке: передаётся адрес объекта (объекты в C++, Java, Python) комбинированная модель:…
Формула и максимум для 32-битного Int тип: знаковое 32-битное целое число — signed int битовая структура: 1 бит предназначен для знака, а 31 бит — для значения диапазон значений: от −2³¹ до 2³¹−1 формула максимального…
Устройство String: почему обращение по индексу неоднозначно? В большинстве современных языков String — это последовательность символов, однако способ её внутреннего представления может отличаться. При использовании…