Как устроен HashMap? За счёт чего достигается константный поиск структура данных формата ключ → значение (хеш-таблица) для ключа вычисляется хеш-код (число) по хеш-коду быстро определяется индекс бакета в бакете…
Как устроен Redis и для чего нужен TTL? Redis — это in-memory key-value хранилище Информация размещается в оперативной памяти, поэтому доступ к ней занимает микросекунды Поддерживаются разные структуры: строки,…
Жизненный цикл Spring Beans Spring Bean — объект, жизненным циклом которого управляет Spring-контейнер этап 1: создание экземпляра с помощью конструктора или фабрики этап 2: внедрение зависимостей (DI через…
структура данных для хранения пар ключ → значение внутри представляет собой хеш-таблицу ключ обязан быть comparable (поддерживать операцию ==) поиск, добавление и удаление выполняются в среднем за ~O(1) для обработки…
Автоматически освобождает память, выделенную JVM Находит объекты, на которые больше нет ссылок и которые стали недостижимыми Организует кучу по поколениям: Young, Old и Permanent (метаданные) Базовый подход:…
Паттерн IDisposable в .NET предназначен для управления неуправляемыми ресурсами. Метод Dispose() позволяет пользователю явно освободить занятые ресурсы. Dispose можно вызвать вручную либо автоматически с помощью…
Планировщик задач в Go: кооперативная и вытесняющая многозадачность В Go применяется гибридный планировщик, объединяющий признаки кооперативной и вытесняющей многозадачности При кооперативной многозадачности goroutine…
Как устроена FIFO-очередь в RabbitMQ? RabbitMQ представляет собой брокер сообщений, работающий с очередями В стандартной очереди сообщения доставляются по принципу FIFO (First In, First Out) Сначала в очередь попадают…
Сеть Pod — фундаментальный сетевой уровень Kubernetes отвечает за связь между Pod внутри кластера каждому Pod назначается собственный IP-адрес без NAT — обмен данными выполняется напрямую по IP создаётся с помощью…
Устройство очередной архитектуры и назначение нескольких очередей и экшенджей В основе архитектуры лежит асинхронная обработка событий, при которой задачи распределяются по приоритету и функциональному назначению.…
Как работает многопоточность в Java? Java обеспечивает параллельное выполнение с помощью потоков (Threads) Поток — отдельный исполняемый поток команд в рамках процесса Для создания потоков применяют классы Thread и…