在 Java 中创建 GUID
什么是 GUID
GUID 是 Globally Unique Identifier
的缩写。通常也将其称为通用唯一标识符
或 UUID
。这两个词之间没有真正的区别。从技术上讲,它们是 128 位不变的,唯一的,加密强度高的随机数。这些随机数最终被用于计算目的。生成此类数字的算法非常复杂,以至于每秒可能生成 1,0000,000,000 个随机数。这些数字不太可能重复。
我们在软件开发实践和方法中使用 GUID 或 UUID,在这种情况下,我们希望使用唯一的 ID 作为主键(例如数据库键,组件标识符和各种事务)进行大型事务。
使用 randomUUID()
方法生成 UUID 的示例代码
package guid;
import java.util.UUID;
public class CreateGuid {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println("UUID = " + uuid.toString());
}
}
在 Java 语言中,UUID
类在 1.5 版以后可用。该类位于 java.util.UUID
包中。randomUUID()
方法是一种静态工厂方法,用于检索类型 4(伪随机生成的)UUID。由于该方法是 UUID 类的静态工厂方法,因此需要类名才能调用该方法。
上述程序的输出似乎是唯一生成的 UUID。
UUID = 70aba303-60d8-4cb5-b3e7-4170c4be5642
使用 UUID 构造函数
和 fromString()
方法生成 UUID 的示例代码:
在下面的程序中,UUID
类构造函数用于生成 UUID。构造函数有两个参数:mostSignificantBits
和 leastSignificantBits
。
mostSignificantBits
用于 UUID 的最高有效 64 位,而 leastSignificantBits
用于最低 UUID 64 位。
fromString()
方法是一种静态工厂方法,可从字符串标准表示形式创建 UUID。上面的方法以字符串
为参数。因此,在 uuid
对象上,内联函数中调用了 toString()
方法。
如果名称不符合 toString
方法中描述的字符串表示形式,则 fromString
方法将引发 IllegalArgumentException
。
package guid;
import java.util.UUID;
public class GenerateGuidUsingConstructor {
public static void main(String[] args) {
UUID uuid = new UUID(24, 02);
System.out.println(UUID.fromString(uuid.toString()));
}
}
以下是从构造函数生成的 UUID 的输出。
00000000-0000-0018-0000-000000000002