为什么4是最常见的UUID字符

  • 本文关键字:常见 UUID 字符 java uuid
  • 更新时间 :
  • 英文 :


我用Java写了一个小程序,它生成5000个随机UUID,并在其中找到最重复的字符,结果我总是得到"-"(显然总是出现20000次(是";4〃;(我运行了好几次程序,总是得到相同的结果(。

我只是对这个事实感到好奇,想知道是否有人有技术解释,或者这真的只是巧合。

谢谢!

这是我用来生成5000个随机UUID的函数。

UUID.randomUUID().toString();
因为UUID不是完全随机的。请查看维基百科上解释各种版本的通用唯一标识符。

它们看起来像:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

其中M和N肯定不是随机的(它们表示版本和变体(,其余的也可能不是随机的,这取决于你使用的模式。您编写的代码将获得版本4,这意味着"M"始终为4,"N"的一半也是不变的。你会得到122个比特的随机性;而不是128。

4是最常见的数字,因为根据UUID设计,第13个"数字"总是4。

最新更新