На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, optimization.
Принцип работы @Transactional при вызове из метода без аннотации @Transactional — аспект Spring AOP, предназначенный для управления транзакциями Аннотация помещает метод в транзакционный контекст и автоматически…
инструмент для исследования SQL-запроса выводит план выполнения запроса показывает последовательность операций (Seq Scan, Index Scan и т.п.) содержит оценку стоимости и предполагаемое число строк позволяет находить…
Что такое паттерн Outbox и зачем он нужен? архитектурный паттерн, который обеспечивает атомарность интеграций сохраняет события или сообщения в отдельной Outbox-таблице в рамках той же транзакции, что и…
Паттерн "Стратегия" поведенческий шаблон проектирования помещает алгоритмы в отдельные классы позволяет динамически менять алгоритм во время выполнения контекст взаимодействует с интерфейсом стратегии и не связан с…
Как работает стирание типов (type erasure) в дженериках? механизм компиляции дженериков, при котором конкретные типы удаляются обобщённый код преобразуется в единый байт-код без сведений о параметрах типов…
Как оптимизировать работу с большими таблицами? Архитектура и хранение: разделять данные с помощью партиционирования Запросы: применять индексы для ускорения фильтрации и выборок Оптимизация: сокращать объём данных…
Механизмы retry и circuit breaker retry повторно отправляет запрос после ошибки и особенно полезен при временных сбоях основные настройки: максимальное число попыток, интервал между ними и экспоненциальный бэкофф…
Три принципа ООП: инкапсуляция, наследование и полиморфизм ООП — это парадигма, в которой структура программы строится вокруг объектов Инкапсуляция: изоляция данных и обращение к ним через методы для защиты…
область: обработка событий, транзакции блокирующая транзакция — гарантирует атомарность и изоляцию использовать механизм блокировок (например, pessimistic locking) для синхронизации применять мьютексы или сходные…
Как реализовать сложение чисел и строк разных типов? Контекст задачи: перегрузка метода или создание универсального метода для работы с различными типами данных Строковые значения преобразуются в числа с помощью…
Потокобезопасная структура блокировок по ID цель: обеспечить конкурентный контроль доступа к ресурсам, связанным с уникальным ID хранить блокировки по ID в ConcurrentHashMap / concurrent dictionary для каждого ID…
Как реализовать чат в Android? создать мобильный интерфейс сообщений, используя RecyclerView для отображения списка подключить бэкенд с API отправки и получения сообщений (REST, WebSocket) применить WebSocket для…