На странице собраны вопросы по Java — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: java, backend, database.
Назовите конкретные задачи, где действительно использовали AI, и отдельно — был ли опыт генерации Java-кода. Опишите проверку результата и границы доверия инструменту.
Два ключевых слова — synchronized и volatile. Первое задаёт мониторную синхронизацию, второе — гарантии видимости и порядка для доступа к полю без взаимного исключения.
Первый фрагмент сразу выбросит NullPointerException: y заполнен null, а присваивание в int требует unboxing. Второй упаковывает нули через cache Integer, третий явно создаёт объекты.
Да: память процесса Java не ограничивается heap. Direct buffers, native-библиотеки, thread stacks и другие области могут расти даже при стабильном Java heap.
volatile обеспечивает видимость и порядок доступа к полю между потоками. Это полезно для флага остановки или публикации состояния, но не делает составные операции атомарными.
Виртуальные потоки полезны для большого числа задач, ожидающих блокирующий I/O. Они не ускоряют CPU-bound вычисления и не отменяют ограничения БД, сети и памяти.
Монитор обеспечивает взаимное исключение и ожидание/уведомление для объекта в Java. Состояния Thread: NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING и TERMINATED.
Да. GC освобождает недостижимые объекты, но не понимает, какие достижимые объекты уже бесполезны приложению. Неограниченный cache или забытый listener может удерживать память бесконечно.
В Spring Kafka увеличивают concurrency listener-контейнера либо число pod с одинаковым group.id. Внутри одного pod concurrency создаёт несколько consumers.
Подойдёт общий Semaphore с 10 permits: каждый вызов захватывает разрешение и освобождает его после завершения. Это ограничение параллельности, а не числа запросов в секунду.
Stop-the-World означает остановку Java-потоков приложения на фазе GC, а concurrent — выполнение части GC одновременно с ними. Parallel означает несколько GC-потоков и не отменяет STW.