import java.util.random.RandomGenerator; import java.util.random.RandomGeneratorFactory; /** JEP 356: RandomGenerator interface and named algorithms. Seeded, so the output is stable. */ public class RandomDemo { public static void main(String[] args) { RandomGenerator g = RandomGeneratorFactory.of("L64X128MixRandom").create(42L); System.out.println("L64X128MixRandom nextInt(100) x3: " + g.nextInt(100) + " " + g.nextInt(100) + " " + g.nextInt(100)); System.out.println("ThreadLocalRandom implements RandomGenerator: " + (java.util.concurrent.ThreadLocalRandom.current() instanceof RandomGenerator)); System.out.println("algorithms >= 10: " + (RandomGeneratorFactory.all().count() >= 10)); } }