Иммутабельность String и String Pool Объекты String в Java нельзя изменить после создания Неизменяемость обеспечивает потокобезопасность и возможность кеширования String Pool — специальная область памяти для строковых…
графика и интерфейс разделение слоёв для оптимизации обновление только изменённых областей для повышения производительности упрощение обработки событий ввода на разных слоях уменьшение затрат на перерисовку всего UI…
Почему boxing значимого типа в ссылочный считается дорогой операцией? контекст: управление памятью и производительность при упаковке для значимого типа создаётся объект-обёртка в куче (heap) выделение памяти в куче…
Почему frame-based логика может создавать проблемы? состояния и данные сохраняются при каждом кадровом цикле зависит от задержек и снижения FPS может пропускать события, происходящие между кадрами (недетерминирована)…
Swift, ARC, управление памятью unowned — неконтролируемая ссылка, которая не увеличивает счётчик ссылок weak — контролируемая ссылка: она изменяет счётчик и выполняет синхронизацию Для weak требуется атомарный доступ…
Для Unity особенно важны производительность и эффективное использование памяти При работе стандартный Task создаёт множество heap-аллоций и операций боксинга, увеличивая нагрузку на GC UniTask представляет собой…
Почему конструкторное внедрение зависимостей с @RequiredArgsConstructor предпочтительнее, чем @Autowired в поле? Dependency Injection (DI) в Spring Конструктор гарантирует явно инициализированное состояние объекта…
Что случится, если equals() считает два объекта равными, а их hashCode() различаются? Контракт equals/hashCode нарушается Hash-based коллекции (HashMap, HashSet) начинают работать некорректно Равные объекты могут…
В большинстве языков строки являются иммутабельными, то есть неизменяемыми При каждой конкатенации создаётся новый массив байт, куда копируются исходные данные Внутри цикла это приводит к постоянному выделению памяти…
Почему линейный поиск может работать неэффективно алгоритм проверяет элементы один за другим сложность поиска — O(n), поэтому время растёт вместе с объёмом данных при работе с большими массивами он становится очень…
Интерфейс сериализации, предназначенный специально для Android Более высокая скорость работы по сравнению с Serializable благодаря native-коду Сниженное потребление памяти и CPU Меньше накладных расходов при передаче…