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

回到顶部