Механизмы асинхронного программирования в Java базовый механизм: Thread — выполняет код параллельно, но требует ручного контроля жизненного цикла Future — представляет результат асинхронной операции, однако вызов…
Контекст: Java Stream API и параллельная обработка коллекций Параллельные стримы выполняются через ForkJoinPool.commonPool() Для маленьких коллекций они часто неэффективны из-за накладных расходов С точки зрения…
Допустимо ли использовать объект с изменяемыми полями в роли ключа HashMap? Контекст: коллекции, HashMap в Java и аналогичные структуры В течение всего времени хранения в мапе ключ должен сохранять неизменные hashCode…
Spring Profiles: назначение и применение механизм Spring для условного включения конфигураций помогает разделять настройки приложения между средами dev, test и prod конфигурации, бины и свойства становятся активными…
Future и CompletableFuture: отличия Future — основной интерфейс для представления асинхронного результата в Java Concurrency. С его помощью можно получить итог операции или отменить её выполнение. При этом для…
Чем отличаются Spring и Spring Boot? Spring — фреймворк для Java-приложений с абстракциями DI, AOP, MVC и других возможностей Spring Boot — надстройка над Spring, упрощающая конфигурацию и запуск проекта В Spring…
Что делают аннотации @Transactional и @Retryable? Контекст: Spring Framework, управление транзакциями и повторными попытками @Transactional: отмечает метод или класс для автоматического управления транзакциями —…
Что представляет собой Bean? понятие из экосистем Java EE и Spring объект, жизненным циклом которого управляет контейнер IoC создаётся и настраивается фреймворком (Spring Container) проходит этапы жизненного цикла:…
Java Stream API: назначение и применение в проектах Java Stream API — это функциональный инструмент для обработки коллекций Он позволяет цепочно объединять операции фильтрации, маппинга, сортировки и агрегации В…
ThreadLocal — это Java-класс, предназначенный для хранения данных, связанных с конкретным потоком Каждый поток получает собственную локальную копию переменной Данные разных потоков изолированы и не используются…