На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, optimization.
Когда AlarmManager предпочтительнее WorkManager? Планирование задач, которым требуется точное время запуска Сохранение работоспособности после перезагрузки устройства Выполнение даже при закрытом приложении…
Когда synchronized недостаточно для предотвращения гонки потоков? синхронизация выполняется с помощью мониторного замка механизм действует на уровне одного объекта (монитора) недостаточен при зависимостях между…
на больших таблицах с частыми операциями insert/update/delete, поскольку обновление индексов создаёт дополнительные накладные расходы в запросах, фильтрующих по низкораспределённым или часто повторяющимся значениям,…
В каких случаях программа может неожиданно завершить выполнение? Прерывание работы означает непредвиденное завершение программы Возможные причины: необработанное исключение (runtime error) обращение за пределы памяти…
В каких случаях следует применять кэширование? ускорить работу системы и сократить время ответа уменьшить нагрузку на базы данных и другие ключевые ресурсы обрабатывать повторяющиеся запросы к одним и тем же данным…
Архитектура: адаптация системы к новым требованиям через рефакторинг Сложность: низкие накладные расходы на сопровождение и взаимодействие Производительность: отказ от сетевого взаимодействия снижает латентность…
Порядок обработки WHERE с AND SQL: отбор строк в запросе WHERE учитывает все заданные условия оператор AND требует истинности каждого условия оптимизатор способен изменить последовательность проверок условия…
контекст: Android, компоненты приложения По умолчанию Service выполняется в главном (UI) потоке приложения Отдельный поток автоматически не создаётся Тяжёлые операции могут заблокировать UI Для фоновых задач применяют…
Ключевое отличие Atomic-классов от synchronized Atomic-классы выполняют операции без блокировок В основе их работы лежит CAS (Compare-And-Swap) Они обеспечивают атомарность отдельных операций synchronized использует…
Чем отличаются == и equals() Область применения: оператор == сопоставляет ссылки на объекты в памяти, а equals() проверяет содержимое объектов. Типы данных: для примитивов == сравнивает значения, а при работе с…
В чём заключается основное преимущество Spring Boot и что это такое? фреймворк для упрощённой разработки Java-приложений автоматическая конфигурация приложений на Spring встроенная поддержка сервера приложений…
Kotlin — современный язык для JVM, полностью совместимый с Java Отличается богатым синтаксисом: поддерживает лямбды, data-классы и extension-функции В язык встроена поддержка null-безопасности благодаря nullable-типам…