На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, optimization.
Использовал ли ты Testcontainers и зачем они нужны? Инструмент для интеграционного тестирования Запускает настоящие контейнеры Docker с СУБД, брокерами и другими сервисами Помогает поднимать зависимости в чистой и…
Запуск Android-приложения: путь от иконки до Activity Нажатие на иконку в Launcher инициирует системный вызов запуска Package Manager анализирует манифест и определяет главное Activity При участии Zygote создаётся…
при изменении конфигурации — например, ориентации, языка или параметров экрана — система перезапускает Activity перед этим вызывается onSaveInstanceState() для сохранения текущего состояния после чего Activity…
Android-компонент для отображения списков с повторным использованием элементов Создаёт ViewHolder'ы только для видимых элементов и небольшой области за пределами экрана Во время прокрутки переиспользует уже созданные…
Как ThreadLocal передаёт параметры, связанные с конкретным потоком? хранит данные отдельно для каждого потока гарантирует, что каждый поток получает собственное независимое значение позволяет обращаться к данным…
частичный индекс — это индекс, включающий только часть строк, отобранных по заданному условию он сокращает размер индекса и объем сканируемых данных запросы с фильтром, совпадающим с условием индекса, выполняются…
Как volatile обеспечивает видимость изменений в многопоточной программе? многопоточность, память и оптимизации указывает, что переменная не должна кешироваться потоками не допускает инструкции reordering со стороны…
управление конкурентным доступом (Concurrency Control) уровни изоляции (Read Uncommitted → Serializable) блокировки (Locking): shared и exclusive мультиверсионность (MVCC) — хранение версий данных для чтения…
Контекст: Java, коллекции и итерация ConcurrentModificationException появляется, если структурно изменить коллекцию не через используемый итератор Для удаления во время обхода применяйте Iterator.remove() Ещё один…
Защита конфиденциальных данных при хранении Размещение секретов за пределами исходного кода: например, в переменных окружения или конфигурационных файлах с ограниченными правами доступа Применение специализированных…
Подходы к обработке исключений в Java: try/catch и предварительная проверка условий Обработка через try/catch: перехват исключения и выполнение нужной логики непосредственно во время работы программы Предварительная…
Механизм синхронизации Java для управления потоками Каждый из этих методов можно вызывать только внутри блока synchronized wait() — поток освобождает монитор объекта и переходит в состояние ожидания notify() — выводит…