返回顶部
首页 > 资讯 > 精选 >UUID分为几个版本
  • 331
分享到

UUID分为几个版本

2023-06-15 14:06:55 331人浏览 薄情痞子
摘要

本篇内容主要讲解“UUID分为几个版本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“UUID分为几个版本”吧!通用唯一识别码(英语:Universally Unique  Identi

本篇内容主要讲解“UUID分为几个版本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“UUID分为几个版本”吧!

通用唯一识别码(英语: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分为几个版本
UUID uuid1 = UUID.randomUUID(); UUID uuid2 = UUID.randomUUID();   int` `result = uuid1.compareTo(uuid2);

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

  • 如果uuid1大于uuid2

  • 0:如果uuid1=uuid2

  • -1: 如果uuid1小于uuid2

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

到此,相信大家对“UUID分为几个版本”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: UUID分为几个版本

本文链接: https://lsjlt.com/news/280577.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • UUID分为几个版本
    本篇内容主要讲解“UUID分为几个版本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“UUID分为几个版本”吧!通用唯一识别码(英语:Universally Unique  Identi...
    99+
    2023-06-15
  • oracle有几个版本
    oracle有很多版本,最常见的四个版本分别是:1、Oracle Database Standard Edition标准版;2、Oracle Database Enterprise Edition企业版;3、Oracle Database ...
    99+
    2023-08-04
  • 氚云有几个版本
    当太空中的宇宙射线和粒子撞击地球时,会形成一个类似于泡泡的物质形态。这些宇宙射线和粒子可以穿透地球的大气层,并与空气分子发生碰撞。在碰撞过程中,粒子会被加速,同时也会产生大量的热和光线。这些热和光线被反射回来,形成了我们现在所看到的氚云。 ...
    99+
    2023-10-28
    有几个 版本
  • 氚云平台有几个版本
    目前,氚云平台上有几个版本,分别适用于不同的人群。第一版本主要适用于科学家、研究人员和专业人员等对能源有深入了解的人。他们可以利用这个平台来进行能量研究、开发新的能源技术和生产新型的能源产品。第二版本适用于对能源的需求较高的个人用户,他们可...
    99+
    2023-10-28
    有几个 版本 平台
  • 键盘分为哪几个区
    键盘分为5个区域:1、主键区,,用于输入文字、数字和常用符号;2、数字小键盘区,用于电子表格、会计软件、游戏等需要频繁使用数字的场景;3、功能键区,用于执行快捷命令、调整音量等操作;4、导航键区,用于在文本编辑器、网页浏览器等程序中移动光标...
    99+
    2023-08-15
  • Win10系统有几个版本?Windows10各版本区别详细介绍
    随着Win10正式版发布临近,微软今天正式公布了Win10版本。由于Win10融合了PC、平板以及智能手机三大平台,因此Win10版本也要明显比Win7/8复杂。那么Win10有几个版本?各版本有哪些区别呢?作为手机电脑...
    99+
    2023-05-19
    Win10 版本 区别
  • Java多个版本切换的几种方法
    目录问题描述如何切换解决方案手动切换在cmd中临时切换java版本批处理实现问题描述 平常用的是java8,最近在学习java的新特性。这就需要从java8往更高的java版本切换。...
    99+
    2023-03-23
    Java版本切换 切换java版本
  • 氚云有几种版本
    氚云的组成和结构非常特殊,它的半衰期很长,只有约1.87秒。这种特殊的性质使得它可以用于核医学成像和治疗。由于其高放射性强度,氚云可以用于医学诊断和治疗。例如,在医学成像中,氚云可以用于检测肿瘤组织的放射性水平,帮助医生确定治疗方案。在治疗...
    99+
    2023-10-28
    几种 版本 氚云有
  • vue的生命周期分为几个阶段
    本篇内容介绍了“vue的生命周期分为几个阶段”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vue.js是一种前端开发框架,它采用了一些方便开...
    99+
    2023-07-06
  • linux shell实现随机数几种方法分享(date,random,uuid)
    在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签。呵呵,非常简单就可以实现。那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了。现在很多都是操作系统内核会提供相应的api,这些原始...
    99+
    2022-06-04
    随机数 几种方法 shell
  • 分析win7哪个版本最好用
    不同版本的win7系统具有不同的基本功能和定位目标。有人想要下载并安装win7系统,但不确定哪个版本是最优选择。下面小编就给大家分析下哪个版本win7系统好用。Windows 7可供选择的版本有:简易版(Starter)、普通家庭版(Hom...
    99+
    2023-07-12
  • Debian中的主要软件包分为哪几个部分
    Debian中的主要软件包分为以下几个部分: main:包含自由的、符合Debian自由软件指导原则的软件包。 contrib:包...
    99+
    2024-03-13
    Debian
  • Mysql分析设计表主键为何不用uuid
    目录一、mysql和程序实例1.1 建表1.2 测试1.3 程序写入结果1.4 效率测试结果二、使用uuid和自增id的索引结构对比2.1 使用自增id的内部结构2.2 使用uuid...
    99+
    2024-04-02
  • Linux 中把Python3设为默认Python版本的几种方法
    方法一,通过alias命令,此方法为用户级修改 先查看自己电脑里的python3版本: python python3 --version 在个人的home目录中,打开 .bashrc文件,打开方...
    99+
    2023-08-31
    linux
  • 几个python运维脚本
    这是我以前写过的一个清除备份文件的小程序,本来想用批处理来做,但批处理的语法又复杂有怪异,最终还是拿python写了一个 因为我们的游戏每隔一小时就会自动产生一个备份,这个程序的作用是跳过最新的7*24个备份,删除其他的时间更长的。 ...
    99+
    2023-01-31
    几个 脚本 python
  • Red Hat的版本有哪几种
    本篇文章给大家分享的是有关Red Hat的版本有哪几种,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux已经耳熟能详,Linux是一个成熟而稳定的网络操作系统,对于那些学...
    99+
    2023-06-16
  • linux下的用户权限分为哪几个类型
    这篇文章主要介绍“linux下的用户权限分为哪几个类型”,在日常操作中,相信很多人在linux下的用户权限分为哪几个类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下的用户权限分为哪几个类型”的疑...
    99+
    2023-06-13
  • numpy版本推荐使用哪个版本
    推荐使用最新版本的NumPy1.21.2。原因是:目前,NumPy的最新稳定版本是1.21.2。通常情况下,推荐使用最新版本的NumPy,因为它包含了最新的功能和性能优化,并且修复了之前版本中的一些问题和错误。本教程操作系统:windows...
    99+
    2023-11-22
    python numpy
  • WCF中几个基本知识点分别是什么
    本篇文章给大家分享的是有关WCF中几个基本知识点分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。整理了几个WCF里几个基本知识点:1、WCF中的MessageWCF中的...
    99+
    2023-06-17
  • Java的几个重要版本_动力节点Java学院整理
    java几个重大版本java从1995年发布到现在,也走过18年了,个人认为,其中几个java版本都肩负着重大使命,影响甚远;jdk1.0 1995年5月23日诞生,Oak语言改名为Java,并提出“Write Once ,Run anyw...
    99+
    2023-05-31
    java 重要版本 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作