java.util.UUID

概述

  A class that represents an immutable universally unique identifier (UUID).  一个 不可变通用的唯一标识符 的class

  A UUID represents a 128-bit value.  一个uuid代表一个128位的值

 

UUID的版本

  UUID有多个版本,每个版本有不同的生成方式。常用的版本包括:

  • Version 1 (Time-based):基于时间戳和MAC地址生成。
  • Version 3 (Name-based):基于命名空间和名字生成。
    • UUID.nameUUIDFromBytes("Some unique string".getBytes()); // Static factory to retrieve a type 3 (name based) {@code UUID} based on the specified byte array.
  • Version 4 (Randomly generated):完全随机生成。
    • UUID.randomUUID()  // Static factory to retrieve a type 4 (pseudo randomly generated) UUID. 
  • Version 5 (Name-based):与Version 3类似,但使用SHA-1算法。

 

重复概率

  UUID有几种不同的版本,其中最常见的是版本4(随机生成)。版本4的UUID是通过伪随机数生成器创建的,其格式为8-4-4-4-12的32位十六进制数,例如550e8400-e29b-41d4-a716-446655440000

  对于版本4的UUID,每个部分都是随机生成的,所以理论上任何两个UUID完全相同的概率非常低。每个UUID包含122位随机数据,这意味着每个UUID有21222122种可能的状态。

  在实际应用中,使用Java的UUID生成器生成的版本4 UUID几乎不会出现重复,除非你在一天之内生成极其大量的UUID(如每天生成数十亿个),并且持续很长一段时间(几年甚至几十年)。即便如此,重复的概率仍然非常小。在大多数情况下,你无需担心UUID的重复问题。

  

posted on   anpeiyong  阅读(90)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-08-28 SQL---表内容查询
2020-08-28 SQL---修改表

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示