Java UUID 类及代码示例

表示不可变的通用唯一标识符 (UUID) 的类, UUID 代表一个 128 位的值.

初见版本

1.5

定义

public final class UUID extends Object implements Serializable, Comparable<UUID>

//以下为构造函数

UUID(long mostSigBits, long leastSigBits)

说明

这些全局标识符存在不同的变体. 此类的方法主要用于操控 Leach-Salz 变体, 尽管构造函数允许创建 UUID 的任何变体(如下).

变体 2 (Leach-Salz) UUID 的布局如下, 最高有效的 long 由以下无符号字段组成:

0xFFFFFFFF00000000 time_low
0x00000000FFFF0000 time_mid
0x000000000000F000 版本
0x0000000000000FFF time_hi

最低有效的 long 由以下无符号字段组成:

0xC000000000000000 变种
0x3FFF000000000000 时钟序列
0x0000FFFFFFFFFFFF 节点

变体字段包含一个标识 UUID 布局的值. 上述位布局仅对变体值为 2 的 UUID 有效, 表示 Leach-Salz 变体。

version 字段包含一个描述该 UUID 类型的值. UUID 有四种不同的基本类型: 基于时间的、DCE 安全的、基于名称的 和 随机生成的 UUID. 这些类型的版本值分别为 1、2、3 和 4 .

有关用于创建 UUID 的算法的更多信息, 请参阅 RFC 4122: 通用唯一标识符 (UUID) URN 命名空间, 第 4.2 节“创建基于时间的 UUID 的算法”.