UUID会重复吗?

blogdaren 2013-06-04 抢沙发 5364人次
如果你可以去试图产生重复的,是可以的,但也没那么容易。
按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码等内容,大致可以理解如下(实际上不同实现所采用的具体规则还是有差异的):
MAC地址:故意情况下可重复;
机器标识:Java下就是JVM标识,故意情况下可重复;
纳秒级当前时间:故意情况下可重复;
随机数:小概率重复;
自增序列数(或时钟序列):循环溢出时重复;
总的来说,你需要大量机器运行海量JVM同时生成UUID,才能有很低概率得到重复的UUID。
来看看稍微专业点的说法:http://zh.wikipedia.org/wiki/UUID
与被陨石击中的机率比较的话,已知一个人每年被陨石击中的机率估计为170亿分之1[1],也就是说机率大约是 0.00000000006 (6 x 10-11),等同于在一年内建立数十兆笔UUID并发生一次重复。换句话说,每秒产生10亿笔UUID,100 年后只产生一次重复的机率是50%。如果地球上每个人都各有6亿笔UUID,发生一次重复的机率是50%。 

#UUID#

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:UUID会重复吗?

发表评论:

您的昵称:
电子邮件:
个人主页:

Free Web Hosting