Насколько велика вероятность столкновения Java UUID.randomUUID?
Мне нужно создать некоторые файлы uniques в Java, и я планирую использовать UUID.randomUUID для генерации их имен. Есть ли вероятность столкнуться для этого? Должен ли я делать что-то вроде bellow os, я не должен беспокоиться об этом?
Integer attemptsToGenerateUUID = 1;
while (true) {
UUID fileUUID = UUID.randomUUID();
if (fileDoesNotExistwith this UUID name) {
save file;
break;
}
attemptsToGenerateUUID += 1;
if (attemptsToGenerateUUID > 64) {
return false;
}
}
Ответы
Ответ 1
Согласно wikipedia, относительно вероятности дублирования в случайных UUID:
Только после генерации 1 миллиарда UUID каждую секунду в течение следующих 100 лет вероятность создания всего одного дубликата составит около 50%. Или, другими словами, вероятность того, что один дубликат составит около 50%, если каждый человек на земле владеет 600 миллионами UUID.
Я думаю, что те же рассуждения применимы к реализации Java UUID. Так что нет, вам не стоит беспокоиться об этом.