На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: java, backend, database.
Kotlin — современный язык для JVM, полностью совместимый с Java Отличается богатым синтаксисом: поддерживает лямбды, data-классы и extension-функции В язык встроена поддержка null-безопасности благодаря nullable-типам…
** bean — это специализированный объект под управлением Spring, для которого контейнер обеспечивает жизненный цикл и DI. Обычные объекты не управляются контейнером.
Чем отличаются inline, noinline и crossinline в Kotlin inline — модификатор функции, при котором её тело подставляется непосредственно в место вызова, помогая сократить накладные расходы noinline — модификатор…
Чем отличаются @Bean и @Service/@Component @Bean — метод конфигурационного класса в @Configuration, который вручную создаёт компонент @Service/@Component — аннотации классов, обнаруживаемых автоматически при…
память и синхронизация/Java concurrency volatile делает изменения видимыми для других потоков, однако не гарантирует атомарность операций Atomic-переменные выполняют атомарные операции — чтение, запись и инкремент —…
B-tree представляет собой самобалансирующееся упорядоченное дерево, рассчитанное на обработку больших объёмов данных на дисках и в СУБД В узле B-tree хранится несколько ключей и множество потомков (m-арное дерево),…
В чём разница между BeanPostProcessor и BeanFactoryPostProcessor и для чего они нужны? Spring Framework: обработка бинов BeanFactoryPostProcessor — изменяет конфигурацию контейнера до того, как будут созданы бины…
Параллелизм в ConcurrentHashMap и Collections.synchronizedMap обе структуры обеспечивают потокобезопасный доступ к Map Collections.synchronizedMap представляет собой обёртку с синхронизацией всего объекта, поэтому…
Сравнение Deadlock и Livelock Область: конкурентность и синхронизация потоков Deadlock: потоки навсегда ожидают ресурсы и остаются заблокированными Livelock: потоки продолжают работу, но бесконечно изменяют состояние…
В чём разница между Mock и Spy в Mockito? Mockito — фреймворк для тестирования с использованием имитаций Mock — полностью искусственный объект, поведение всех его методов можно настроить Spy — объект на основе…
SELECT * и явное перечисление полей SQL-запросы: получение данных SELECT * выбирает все столбцы таблицы Явно заданный список возвращает только выбранные столбцы SELECT * может снижать производительность из-за передачи…
Ключевые различия String, StringBuffer и StringBuilder String — неизменяемая строка (immutable): после изменения создаётся новый объект StringBuffer — изменяемая строка с потокобезопасной синхронизацией (synchronized)…