Java UUID17 Mar 2025 | 4 分钟阅读 什么是UUID?UUID 代表通用唯一标识符。UUID 由开放软件基金会 (OSF) 标准化。它是分布式计算环境 (DCE) 的一部分。UUID 是一个 36 个字符长的唯一数字。它也称为全局唯一标识符 (GUID)。 Java UUID 类
Java UUID 表示 UUID 的表示使用十六进制数字。 Java UUID 由十六进制数字和四个连字符 (-) 组成。它是一个 36 个字符长的唯一数字,包括四个连字符。UUID 可能是 nil,其中所有位都设置为零。 ![]()
Java UUID 用途它用于创建以下内容
Leach-Salz 变体:变体字段包含标识 UUID 布局的值。变体 2 (Leach-Salz) UUID 的表示如下:
上面定义的位布局仅对变体值为 2(表示 Leach-Salz 变体)的 UUID 有效。 UUID 类型 UUID 有四种类型:
版本 3 和 5UUID 版本 3 和 5 使用命名空间和名称的哈希来生成 UUID。命名空间标识符是 UUID,例如域名系统 (DNS)、URL 和 OID(对象标识符)等。UUID 版本 3 和 UUID 版本 5 之间的区别在于哈希算法。 版本 3 使用 MD5 (128 位) 算法,而版本 5 使用 SHA-1 (160 位) 算法。我们将生成的哈希值截断为 128 位,然后替换 4 位用于版本,2 位用于变体。Java 不提供版本 5 的实现。 版本 4UUID 版本 4 实现使用随机数作为源。它使用不可预测的值作为种子来生成随机数,以减少冲突的可能性。 UUID 变体最常用的变体是 2 (Leach-Salz)。有以下类型的变体:
![]() 在上面的图中,“V”表示 UUID 版本,“R” (1-3) 表示 UUID 变体。 Java UUID 构造函数我们可以使用构造函数生成不同类型的 UUID。构造函数的语法是: mostSigBits 参数用于 UUID 的 MSB (64 位),leastSigBits 成为 UUID 的 LSB (64 位)。 UUID 类的方法UUID randomUUID() 方法randomUUID() 方法随机生成 UUID。每次运行程序时,它都会生成一个新的 UUID。该方法的签名是: 该方法返回随机生成的 UUID。 示例 以下示例生成一个随机 UUID。 输出 c6a8669e-ee95-4c42-9ef6-4a9b61380164 UUID version() 方法 此 UUID 关联的版本。版本号描述了此 UUID 的生成方式。该方法返回 UUID 的版本号。该方法的签名是: 示例 输出 UUID version is: 1 UUID version is: 3 UUID variant() 方法 此 UUID 关联的变体号。它描述了 UUID 的布局。该方法返回 UUID 的变体号。该方法的签名是: 示例 输出 UUID variant is: 2 UUID variant is: 7 UUID node() 方法 node() 方法返回与 UUID 关联的节点值。它是一个 48 位节点值。它由此 UUID 的字段构成。它包含机器的 IEEE 802 地址(MAC 地址)。如果 UUID 不是版本 1 UUID,则会引发 UnsupportedOperationException。 该方法的签名是: 示例 输出 Node value: 55075465998336 |
传统上,我们使用算术运算(/)进行除法。除法运算在某些场合需要替代实现,因为系统限制、特定编码要求或对底层除法逻辑的好奇。除法的核心在于确定……
阅读 6 分钟
复合赋值运算符是将多个运算符组合在一起。它包括一个赋值运算符和一个算术运算符或按位运算符。在右操作数和左操作数之间执行指定的运算,并将结果赋给左操作数……
7 分钟阅读
Java 程序中与安全相关的所有类都位于此包下。下面将讨论各种类:类描述 AccessControlContext 此类负责做出与系统资源访问权限相关的各种决定。该类被声明为……
阅读 6 分钟
按位左移运算符 (<<) 左移运算符将数字的位向左移动指定的位数。此运算符的符号是 <<。当你编写 x<<n 时,其含义是将 x 的位向左移动 n 指定的位数。例如,如果...
阅读 3 分钟
这是谷歌、微软、TCS、Accenture 等著名 IT 公司通常在招聘面试中提出的问题。通过找出解决方案,可以评估面试者的逻辑推理、批判性思维和解决问题的能力。在本节中,我们将创建一个...
5 分钟阅读
? Advance 的字典含义是前进或发展或改进,而 improve 的意思是使某事变得更好的事物。总而言之,我们必须提高基本知识才能在该特定领域成为大师。Java 分为两部分...
阅读 15 分钟
在本节中,我们将了解 Java 中的 Xmx 是什么,以及如何为 Java 应用程序设置最大堆大小。在 Java 中,有时当我们运行 Java 应用程序时,会收到类似以下的错误消息:Error occurred during initialization of VM. Could not reserve...
阅读 3 分钟
这是计算机科学中处理数字领域图像处理和分析的部分。图像处理,由于多媒体的日益使用,已成为图像增强、文本提取、艺术效果等任务中不可或缺的一部分。在本节中,我们...
阅读9分钟
在 Java 中,我们通常在编译时会遇到错误和异常。但是“javac 命令未识别”是许多新 Java 程序员面临的最常见错误。在本节中,我们将检测 javac 命令未识别的原因……
阅读 4 分钟
? Java 是一种强大的编程语言,它提供了许多有效的方法来处理和使用数组。将数组传递给函数是数组操作的关键部分。程序员可以通过将数组作为函数参数来执行操作,直接操作数组项。在此...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India