public static void main(String[] args)
{
Map<Long, Long> map = IntStream.range(0, 1_000_000)
.parallel()
.mapToObj(i -> System.nanoTime())
.collect(Collectors.groupingBy(x -> x, Collectors.counting()));
map.entrySet()
.stream()
.max(Entry.comparingByValue())
.ifPresent(e -> System.out.printf("%X => %d\r\n", e.getKey(), e.getValue()));
}
отпечатков (т.е.):
69C57829077 => 24
Я думал, что два вызова в одной виртуальной машине (даже если в разных потоках) должны возвращать два разных значения.
В этом случае одно значение возвращается 24 (!!) вызовами.
Как это может произойти?
P.S. Я на Win10 x64