关于UUID

UUID:UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符。UUID是16字节128位长的数字,通常以36字节的字符串表示,其中的字母是16进制表示,大小写无关。示例如下:5b1011d0-bbd3-4c99-a54b-d70184619021GUID(Globally Unique Ident...
摘要由CSDN通过智能技术生成

UUID:

UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符。

UUID是16字节128位长的数字,通常以36字节的字符串表示,其中的字母是16进制表示,大小写无关。

示例如下:

5b1011d0-bbd3-4c99-a54b-d70184619021

GUID(Globally Unique Identifier)是UUID的别名,但在实际应用中,GUID通常是指微软实现的UUID。

UUID特点:

1.经由一定的算法机器生成

为了保证UUID的唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。UUID的复杂特性在保证了其唯一性的同时,意味着只能由计算机生成。

2.非人工指定,非人工识别

UUID是不能人工指定的,除非你冒着UUID重复的风险。UUID的复杂性决定了”一般人“不能直接从一个UUID知道哪个对象和它关联。

3.在特定的范围内重复的可能性极小

UUID的生成规范定义的算法主要目的就是要保证其唯一性。但这个唯一性是有限的,只在特定的范围内才能得到保证,这和UUID的类型有关(参见UUID的版本)。

关于:获得JavaUUID.randomUUID冲突的几率

根据维基百科,关于随机UUID中重复概率描述:

仅在未来100年内每秒产生10亿个UUID之后,仅创建一个副本的概率将约为50%。或者换一种说法,如果地球上每个人拥有6亿UUID,那么一个副本的概率大约是50%。

也就是说,每秒产生10亿UUID,100年中只产生一次重复的机率是50%。同样的推理适用于Java的UUID实现,所以不必担心这个。

UUID作用:

UUID 的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,所有元素都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值