На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, optimization.
Java-коллекции, в том числе HashMap, используют hashCode() для ускорения поиска Правило контракта таково: при результате equals() true метод hashCode() обязан возвращать одинаковое значение Если правило нарушено,…
Как с помощью Spring Boot Actuator контролировать работоспособность приложения? Spring Boot Actuator — инструмент мониторинга Spring Boot открывает доступ к профилям, метрикам и состоянию здоровья приложения через…
распределённая публично-подписная система потоковой обработки событий (event streaming) масштабирование выполняется за счёт партиционирования топиков каждый топик разделён на партиции, что обеспечивает параллельную…
распределённая архитектура, в которой сервисы работают независимо обмен данными по сети через HTTP/REST, gRPC или message brokers синхронное взаимодействие через REST/gRPC и асинхронное — через RabbitMQ, Kafka…
Как параллельно получить данные из 4 независимых систем через CompletableFuture? Java concurrency и асинхронное выполнение CompletableFuture — оболочка для асинхронных вычислений Запускать каждый запрос в пуле потоков…
Как обеспечить надёжность вызова внешнего сервиса при высокой нагрузке? Архитектура: асинхронное обращение через очередь сообщений Использовать очередь (RabbitMQ, Kafka) для буферизации запросов Добавить механизм…
Работа с массивом и поиск повторяющейся последовательности Последовательный просмотр элементов с сопоставлением соседних значений Сопоставляем текущий элемент со следующим и при равенстве возвращаем найденную пару…
Контекст: диагностика и профилирование Выявление с помощью heap dump и профайлеров (VisualVM, YourKit) Поиск объектов с неожиданно длительным временем жизни Проверка ссылок, из-за которых сборщик мусора не может…
Выборка кредитов физических лиц с просроченной задолженностью SQL-запрос к базе данных кредитов Отбираются кредиты, для которых тип клиента указан как "физическое лицо" Проверяются условия: дата платежа (due_date)…
Как написать SQL-запрос для выбора профилей с >10 постами? область: SQL, агрегирование и группировка для подсчета постов применяется агрегатная функция COUNT() GROUP BY используется по профилю (user_id/profile_id)…
@RestController — контроллер Spring MVC, предназначенный для REST API Стандартно формирует JSON с помощью MessageConverter (MappingJackson2HttpMessageConverter) Чтобы выдавать XML, требуется подключить Jackson XML или…
область применения: Android UI, RecyclerView по умолчанию RecyclerView применяет DefaultItemAnimator для анимаций для замены эффекта создают класс-наследник RecyclerView.ItemAnimator или SimpleItemAnimator методы…