java - generate - spring uuid
¿Qué tan grande es la oportunidad de obtener una colisión UUID.randomUUID de Java? (1)
Esta pregunta ya tiene una respuesta aquí:
- ¿Qué tan bueno es UUID.randomUUID de java? 10 respuestas
Necesito crear algunos archivos únicos en Java y planeo usar UUID.randomUUID para generar sus nombres. ¿Hay alguna posibilidad de conseguir una colisión por esto? ¿Debería hacer algo como el de abajo? ¿No debería preocuparme por esto?
Integer attemptsToGenerateUUID = 1;
while (true) {
UUID fileUUID = UUID.randomUUID();
if (fileDoesNotExistwith this UUID name) {
save file;
break;
}
attemptsToGenerateUUID += 1;
if (attemptsToGenerateUUID > 64) {
return false;
}
}
Según wikipedia , con respecto a la probabilidad de duplicados en UUID aleatorios:
Solo después de generar 1 mil millones de UUID por segundo durante los próximos 100 años, la probabilidad de crear un solo duplicado sería aproximadamente del 50%. O, para decirlo de otra manera, la probabilidad de un duplicado sería aproximadamente del 50% si cada persona en la tierra tuviera 600 millones de UUID.
Supongo que el mismo razonamiento se aplica a la implementación de UUID en Java. Así que no, no debes preocuparte por esto.