На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, optimization.
Стандартные способы управления потоками (ExecutorService, Future) Java concurrency API предназначен для управления потоками ExecutorService — интерфейс пула потоков, отвечающий за управление его жизненным циклом С…
Память JVM разделена на две основные области: heap и stack В stack находятся данные локальных переменных и информация о вызовах функций Организация stack основана на принципе LIFO, поэтому доступ к данным происходит…
аспектно-ориентированное программирование (AOP), управление транзакциями обозначает метод или класс для автоматического открытия, фиксации и отката транзакции при вызове метода Spring создаёт новую транзакцию либо…
Оба варианта блокировок доступны в Spring ORM через JPA Оптимистичный подход использует контроль версий: на сущность добавляется аннотация @Version Во время обновления версия сравнивается; при расхождении возникает…
Механизмы аутентификации и авторизации в микросервисной архитектуре с Spring Security Аутентификация — это подтверждение личности пользователя либо сервиса Авторизация — определение доступных ресурсов на основании…
Обработка ошибок и отказоустойчивость при взаимодействии сервисов для временных сбоев применяем паттерны повторных попыток (retry) с backoff circuit breaker изолирует неисправный сервис и не допускает каскадного…
Как обеспечивать потокобезопасность в приложениях? синхронизация критических секций с помощью мьютексов и семафоров применение атомарных операций и lock-free структур данных для сохранения высокой производительности…
Принципы SOLID: SRP, OCP, LSP, ISP и DIP с практическими примерами SOLID — пять принципов, которые помогают проектировать качественный объектно-ориентированный код SRP (Single Responsibility Principle): у класса…
Подходы к оптимизации SQL-запросов Индексы: их создают для колонок, участвующих в частых фильтрах и JOIN, чтобы сократить число полных сканирований таблиц Минимизация JOIN: отказ от ненужных соединений,…
поддержание согласованности кэша и БД — одна из основных задач систем, использующих кеширование часто применяют подход write-through: данные сначала записываются в кэш, а затем — в БД при использовании write-back…
Коллекции в Java на практике Коллекции представляют собой наборы объектов с удобными средствами для их хранения и обработки К основным интерфейсам относятся List, Set и Map — каждый задаёт свою структуру и гарантии…