Слабые ссылки — это ссылки, которые не препятствуют сборщику мусора GC освобождать объект. В Java для этого применяют класс WeakReference. Для коллекций используют WeakHashMap (ключи в ней являются слабыми ссылками)…
Функция map преобразует массив вызывая переданную функцию для каждого его элемента и формируя новый массив с полученными результатами при этом исходный массив остаётся неизменным, что обеспечивает иммутабельность для…
Как синхронизировать версии зависимостей между микрофронтами? архитектура микрофронтов, зависимости Независимое управление: каждый микрофронт может поставляться со своей версией React Согласование версий в npm…
Слайс состоит из трёх полей: указателя на массив, длины и ёмкости Указатель содержит адрес первого элемента используемого сегмента массива Длина показывает количество доступных элементов (len) Ёмкость задаёт…
Как сократить число аллокаций памяти при конкатенации строк в цикле? строковые операции: неизменяемость строк конкатенация +=внутри цикла приводит к созданию новых объектов применять буферы: StringBuilder (Java),…
Автоматически освобождает память, выделенную JVM Находит объекты, на которые больше нет ссылок и которые стали недостижимыми Организует кучу по поколениям: Young, Old и Permanent (метаданные) Базовый подход:…
Как устроен цикл событий (event loop) и как он выполняет асинхронный код? механизм организации асинхронности в JavaScript и средах его выполнения функционирует до тех пор, пока в очереди остаются задачи работает со…
PostgreSQL — реляционная БД с поддержкой репликации В режиме master-slave репликация бывает асинхронной или синхронной WAL (Write-Ahead Log) передаётся на слейв Слейв доступен для чтения, но не принимает запись данных…
Преимущества Kotlin перед Java современный статически типизированный язык для JVM корутины для удобной реализации асинхронного кода лаконичный и выразительный синтаксис (type inference, data class) встроенный на этапе…
коллекция содержит слабые ссылки на объекты GC освобождает объекты, для которых не осталось сильных ссылок часто выгружаемые объекты быстро превращаются в null внутри коллекции возможна нестабильность данных: элементы…
Верстка в UIKit: фреймы и констрейнты, ключевые различия В UIKit применяют два основных подхода к верстке: фреймы и Auto Layout (констрейнты). При использовании фреймов положение и размеры UIView задаются напрямую…
протоколы транспортного уровня стека TCP/IP TCP — протокол, ориентированный на соединение обеспечивает доставку, правильный порядок и целостность данных выполняет контроль ошибок и повторно передаёт данные при…