Security Intermedio

Usa la interfaz RandomGenerator para elegir algoritmos de números aleatorios por nombre sin acoplarse a una clase específica.

✕ Java 8
// Hard-coded to one algorithm
Random rng = new Random();
int value = rng.nextInt(100);

// Or thread-local, but still locked in
int value = ThreadLocalRandom.current()
    .nextInt(100);
✓ Java 17+
// Algorithm-agnostic via factory
var rng = RandomGenerator.of("L64X128MixRandom");
int value = rng.nextInt(100);

// Or get a splittable generator
var rng = RandomGeneratorFactory
    .of("L64X128MixRandom").create();
¿Ves un problema con este código? Cuéntanos.
🔧

Agnóstico al algoritmo

Elige el mejor algoritmo de generación aleatoria por nombre sin cambiar la estructura del código.

Mejores algoritmos

Acceso a generadores LXM modernos con propiedades estadísticas superiores.

🔗

API unificada

Una interfaz cubre Random, ThreadLocalRandom, SplittableRandom y más.

Enfoque Antiguo
new Random() / ThreadLocalRandom
Enfoque Moderno
Factoría RandomGenerator
Desde JDK
17
Dificultad
Intermedio
Interfaz RandomGenerator
Disponible

Disponible desde JDK 17 (septiembre 2021, JEP 356).

JDK 17 introdujo RandomGenerator como interfaz común para todas las implementaciones de generadores de números aleatorios. En lugar de codificar new Random() o ThreadLocalRandom, puedes seleccionar algoritmos por nombre a través de una factoría, facilitando el cambio entre algoritmos optimizados para diferentes casos de uso (velocidad, calidad estadística, divisibilidad).

Compartir 𝕏 🦋 in