На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, optimization.
Аннотационная конфигурация Spring Аннотации в Spring позволяют упростить настройку приложения и отказаться от XML Основная аннотация для классов конфигурации — @Configuration @Bean применяется для ручной регистрации…
логирование с помощью фреймворков: Log4j2, SLF4J, Logback настройка уровней: ERROR, WARN, INFO, DEBUG вывод данных в файлы, консоль, удалённые сервисы (например, ELK, Splunk) структурирование сообщений:…
область: интеграция, отказоустойчивость, масштабирование ввести ограничение пропускной способности (rate limiting), чтобы контролировать частоту обращений к сервису применить bulkhead pattern для изоляции ресурсов и…
Как не потерять состояние приложения при изменении конфигурации? область: мобильная разработка (Android) конфигурация включает поворот экрана, смену языка и ресурсов Android пересоздаёт Activity, поэтому состояние UI…
Это задача из сферы конкурентного программирования. Проблема заключается в том, что инкремент не является атомарной операцией, поэтому возможна гонка данных. Решение 1 — применить мьютексы/локи: они ограничивают…
Контекст: обработка сообщений в очередях RabbitMQ с требованием гарантировать однократное выполнение операции Идемпотентность означает, что повторная обработка одного сообщения не меняет итоговый результат Применение…
многопоточность, работа с разделяемыми данными защищать балансы с помощью мьютексов или синхронизаторов использовать атомарные операции для изменения значений применять транзакции базы данных с подходящим уровнем…
цель: исключить состояния гонки (race conditions) использовать синхронизацию: мьютексы и блокировки (locks) выбирать конкурентные коллекции (ConcurrentHashMap, ConcurrentQueue) по возможности применять атомарные…
Как обнаружить "тяжёлые" SQL-запросы без готовых метрик? анализ журналов СУБД (slow query log, general log) исследование плана выполнения с помощью EXPLAIN и EXPLAIN ANALYZE выявление запросов с большим временем…
Как изменить один TextView в списке, не выполняя полный ребинд элемента? Область: Android, RecyclerView/ListView Вызвать notifyItemChanged(position, payload). Передать определённый payload, например ключ, обозначающий…
Обработка ошибок при недоступности внешнего сервиса отказоустойчивость распределённых систем для временных сбоев применяют retry с экспоненциальным увеличением интервала между попытками чтобы не отправлять избыточные…
архитектурный подход к созданию распределённых систем приложение разделяется на самостоятельные сервисы каждый из них выполняет определённую бизнес-задачу сервисы обмениваются данными через строго определённые API…