Java UUID.randomUUID冲突的机会有多大?
我需要在Java中创建一些唯一文件,并且我计划使用UUID.randomUUID生成其名称。有没有机会撞到这个?我应该做类似波纹管的事情吗?我不应该为此担心吗?
Integer attemptsToGenerateUUID = 1;while (true) {
UUID fileUUID = UUID.randomUUID();
if (fileDoesNotExistwith this UUID name) {
save file;
break;
}
attemptsToGenerateUUID += 1;
if (attemptsToGenerateUUID > 64) {
return false;
}
}
回答:
根据维基百科,关于随机UUID中重复的概率:
仅在接下来的100年中每秒生成10亿个UUID之后,仅创建一个副本的可能性就约为50%。或者,换句话说,如果地球上的每个人都拥有6亿个UUID,则重复一次的概率约为50%。
我想同样的道理也适用于Java的UUID实现。因此,不,您不必为此担心。
以上是 Java UUID.randomUUID冲突的机会有多大? 的全部内容, 来源链接: utcz.com/qa/409762.html