Чем опасен Executors.newCachedThreadPool() в проде?

Ответ

Неограниченное количество потоков — при всплеске нагрузки может положить JVM через OutOfMemoryError (unable to create new native thread).

Разбор: newCachedThreadPool() имеет неограниченный максимум потоков (Integer.MAX_VALUE) и SynchronousQueue без буфера, поэтому при всплеске он создаёт новый поток под каждую задачу и может исчерпать нативную память — OutOfMemoryError: unable to create new native thread. Ловушки в дистракторах: проблема не в переполнении очереди (очередь не буферизует) и не в отбрасывании задач, а простаивающие потоки как раз завершаются через 60 секунд.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться