java - 发生 Java UUID.randomUUID 冲突的机会有多大?

标签 java uuid

我需要在 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;
    }
}

最佳答案

根据wikipedia ,关于随机 UUID 中重复的概率:

Only after generating 1 billion UUIDs every second for the next 100 years, the probability of creating just one duplicate would be about 50%. Or, to put it another way, the probability of one duplicate would be about 50% if every person on earth owned 600 million UUIDs.

我想同样的推理也适用于 Java 的 UUID 实现。所以不,你不应该担心这个。

关于java - 发生 Java UUID.randomUUID 冲突的机会有多大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876188/

相关文章:

正则表达式匹配数字或 UUID

python - PySpark:基于数据框中具有 UUID 的列添加新列

python - 获取 : invalid input syntax for uuid: "" when using django-uuidfield as primary key for a model

algorithm - 用于编码 UUIDS 的传统算法的替代方案(例如 Base32、Base62)

java - 自定义停用词 Lucene 4.0

java - 使用 rdf4j 将元组转换为 json

java - java RMI中远程对象的绑定(bind)代理

java - 如何将简单的java游戏放入窗口(applet)

java - 最有效地使用 substring()

python - 模拟将 UUID 编码为 Base64