Java Core senior

Зачем RandomGenerator вместо Random?

Ответ

RandomGenerator — общий интерфейс для всех ГСЧ в Java 17+. Это часть JEP 356: Enhanced Pseudo-Random Number Generators. Реализации: ThreadLocalRandom, SplittableRandom, различные алгоритмы (Xoshiro, L128X, L64X). Позволяет выбирать генератор по свойствам (период, splittable, jumpable) через RandomGeneratorFactory; для криптостойкости по-прежнему нужен SecureRandom.

Разбор: RandomGenerator (JEP 356, Java 17) — это общий интерфейс для разных алгоритмов ГСЧ (Xoshiro, LXM-семейство L64X/L128X и др.), позволяющий выбирать генератор по нужным свойствам (период, splittable, jumpable, leapable) через RandomGeneratorFactory. Ловушки: он не про потокобезопасность и не про криптостойкость — для секретов по-прежнему нужен SecureRandom, а Random/ThreadLocalRandom стали лишь реализациями этого интерфейса.

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

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