速看!今天我才知道UUID还分五个版本

  发布时间:2025-11-04 04:13:05   作者:玩站小弟   我要评论
通用唯一识别码(英语:Universally Unique Identifier,缩写:UUID)是用于计算机体系中以识别信息数目的一个128位标识符,还有相关的术语:全局唯一标识符(GUID)。根据 。

通用唯一识别码(英语:Universally Unique Identifier,今天缩写:UUID)是才知用于计算机体系中以识别信息数目的一个128位标识符,还有相关的版本术语:全局唯一标识符(GUID)。

根据标准方法生成,今天不依赖中央机构的才知注册和分配,UUID具有唯一性,版本这与其他大多数编号方案不同。今天重复UUID码概率接近零,才知可以忽略不计。版本

UUID是今天由一组32位数的16进制数字所构成,故UUID理论上的才知总数为16^32=2^128,约等于3.4 x 10^38。版本也就是今天说若每纳秒(ns)产生1万亿个UUID,要花100亿年才会将所有UUID用完。才知

UUID的版本标准型式包含32个16进制数字,以连字号分为五段,形式为 8-4-4-4-12 的源码下载32个字符。

示例:550e8400-e29b-41d4-a716-446655440000

UUID 格式:

在其规范的文本表示中,UUID 的 16 个 8 位字节表示为 32 个十六进制(基数16)数字,显示在由连字符分隔 - 的五个组中,"8-4-4-4-12" 总共 36 个字符(32 个字母数字字符和 4 个连字符)。例如:

123e4567-e89b-12d3-a456-426655440000 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 

ps:上下对比看,a在十六进制中表示10

四位数字 M表示 UUID 版本,数字 N的一至三个最高有效位表示 UUID 变体。在例子中,M 是 1 而且 N 是 a(10xx),这意味着此 UUID 是“变体1”、“版本1”UUID;即基于时间的 DCE/RFC 4122 UUID。

UUID 版本:

对于“变体(variants)1”和“变体2”,标准中定义了五个版本(versions),并且在特定用例中每个版本可能比其他版本更合适。

版本由 M 字符串中指示。

版本1 - UUID 是亿华云根据时间和节点 ID(通常是MAC地址)生成;

版本2 - UUID是根据标识符(通常是组或用户ID)、时间和节点ID生成;

版本3、版本5 - 确定性UUID 通过散列(hashing)名字空间(namespace)标识符和名称生成;

版本4 - UUID 使用随机性或伪随机性生成。

Java中生成 UUID:

下面让我们介绍一下 Java UUID 类中可以用来生成 UUID 的方法:

1. randomUUID():

它使用加密强度高的伪随机数生成器生成v4伪随机UUID:

UUID uuid = UUID.randomUUID(); 

2. nameUUIDFromBytes():

我们可以使用 nameuidfrombytes ()从字节数组生成 UUID:

byte[] byteArr = {11, 23, 33}; UUID uuid = UUID.nameUUIDFromBytes(byteArr); 

 此方法生成 v3 UUID (基于名称的)。

3. fromString():

使用 fromString () ,我们可以从一个标准的字符串表示创建 UUID:

UUID uuid = UUID.fromString("533a4559-e55c-18b3-2456-555563322002"); 

对于作为参数传入的任何无效字符串,它将抛出 IllegalArgumentException。

比较两个 uuid:

Java UUID 实现了 Comparable 接口,因此,我们可以使用 compareTo ()方法来比较它们

UUID uuid1 = UUID.randomUUID(); UUID uuid2 = UUID.randomUUID(); int` `result = uuid1.compareTo(uuid2); 

如我们所知,compareTo ()方法返回:

1: 如果uuid1大于uuid2 0:如果uuid1=uuid2 -1: 如果uuid1小于uuid2

我们也可以选择使用 equals ()方法进行比较。

总结:

在本教程中,我们了解了 UUID 是什么及其格式和版本。我们还介绍了由 java UUID类中生成uuid的方法。

云服务器提供商
  • Tag:

相关文章

  • 电脑蓝屏错误时间的解决方法(提高电脑稳定性,有效应对蓝屏错误)

    摘要:电脑蓝屏错误是使用电脑过程中常见的问题,给我们的工作和生活带来了不便。如何解决电脑蓝屏错误,提高电脑的稳定性,是我们需要掌握的重要技能。本文将从不同方面介绍解决电脑蓝屏错误的方法和...
    2025-11-04
  • 域名解析会出现什么情况?如何合理应对域名解析?

    域名解析会出现什么情况?如何合理应对域名解析?域名解析错误是指在应用程序调用解析器向域名服务器发起域名解析请求,经过域名服务器在域名空间中检索后向解析器发回了客观上不正确的最终结果之状态。下面益华网络
    2025-11-04
  • 对于域名后缀知道哪些?新手必知域名后缀

    对于域名后缀知道哪些?新手必知域名后缀互联网上1400多个域名后缀,其中国别域名有243个,每一个都是一个国家或地区的代码,且大多数域名都有被所在的域名注册局赋予了关联的含义,下面益华网络来看看这些域
    2025-11-04
  • 国别域名是好域名吗?新手该如何获取国别域名?

    国别域名是好域名吗?新手该如何获取国别域名?随着互联网的日益成熟,互联网资源越来越稀缺,尤其是域名资源。在主流域名中,好域名早在十多年前就被抢占了,后来者要想获得好域名,唯一的办法就是高价从注册者手中
    2025-11-04
  • 苹果平板电脑恢复错误解决指南(解决苹果平板电脑恢复错误的有效方法和技巧)

    摘要:苹果平板电脑作为一款功能强大的移动设备,常常被用于工作和娱乐。然而,在使用过程中,有时会遇到恢复错误的情况,导致系统无法正常运行。本文将分享一些有效的方法和技巧,帮助您解决苹果平板...
    2025-11-04
  • 域名轮回是什么?新手要怎么理解域名轮回?

    域名轮回是什么?新手要怎么理解域名轮回?轮回简单来说就是从开始到结束的这段时间,而我们今天聊天的是域名行业中的一个专业词语,域名轮回,也就是一个域名从被注册到被删除的时间。下面益华网络就带大家看看什么
    2025-11-04

最新评论