Кэширование создания большого списка случайных чисел (Random)

Создаю большой список случайных целых чисел(List) и замеряю время на его создание. Числа проходят запаковку. Делаю эту операцию два раза и второй раз она выполняется значительно быстрее, при том, что все переменные новые.

Random random = new Random();
long start = System.nanoTime();
List<Integer> integerList = random.ints(100000, 1000, 2001).boxed().collect(Collectors.toList());
long end = System.nanoTime();
System.out.println("nanotime - " + TimeUnit.NANOSECONDS.toMillis(end - start));

Random random2 = new Random();
long start2 = System.nanoTime();
List<Integer> integerList2 = random2.ints(100000, 1000, 2001).boxed().collect(Collectors.toList());
long end2 = System.nanoTime();
System.out.println("nanotime2 - " + TimeUnit.NANOSECONDS.toMillis(end2 - start2));

Результат выполнения кода:

nanotime - 74 nanotime - 3

JVM кэширует такие операции?


Ответы (0 шт):