做挂广告网站,南昌seo招聘信息,十四冶建设集团技工学校网站,南京网站建设知识介绍#xff1a; UUID#xff08;通用唯一标识符#xff09;表示一个128位长的唯一值 。 它也被普遍称为GUID#xff08;全球唯一标识符#xff09;。 UUID的标准表示形式由十六进制数字组成#xff1a; 533a4559-e55c-18b3-8456-555563322002并具有36个字符 #xff… 介绍 UUID通用唯一标识符表示一个128位长的唯一值 。 它也被普遍称为GUID全球唯一标识符。 UUID的标准表示形式由十六进制数字组成 533a4559-e55c-18b3-8456-555563322002 并具有36个字符 其中包括四个连字符- 。 Java 中的java.util.UUID类表示一个不变的UUID。 我们可以使用UUID类来生成随机文件名会话或事务ID。 UUID的另一种流行用法是在数据库中生成主键值。 Java UUID类具有一种用于处理Leach-Salz变体变体2的方法 。 但是其构造函数允许生成任何类型的UUID new UUID(long mostSigBits, long leastSigBits) 变体确定UUID的布局。 让我们来一个样本UUID 533a4559-e55c-18b3-8456-555563322002
xxxxxxxx-xxxx-Bxxx-Axxx-xxxxxxxxxxxx 此处 A的值表示变量并由其前三个MSB最高有效位确定 MSB1 MSB2 MSB3 变体 变体说明 0 X X 0 保留用于NCS向后兼容 1个 0 X 2 里奇-萨尔茨 1个 1个 0 6 保留Microsoft Corporation向后兼容 1个 1个 7 保留以供将来定义 对于我们而言 A 81000 因此前三个MSB为100 。 这意味着我们的UUID具有2的变体。 对于版本2 UUID 有五个不同的版本 版 描述 v1 基于时间的 v2 DCE-安全 v3和v5 基于名称 v4 随机生成的UUID 生成 让我们介绍一下Java UUID类中的方法这些方法可用于生成UUID 1. 它使用加密强度高的伪随机数生成器生成v4伪随机UUID UUID uuid UUID.randomUUID();2. 我们可以使用nameUUIDFromBytes从字节数组生成UUID byte[] byteArr {11, 23, 33};
UUID uuid UUID.nameUUIDFromBytes(byteArr); 此方法生成v3 UUID 基于名称。 3. 使用fromString 我们可以从标准字符串表示形式创建UUID UUID uuid UUID.fromString(533a4559-e55c-18b3-2456-555563322002); 对于作为参数传入的任何无效字符串它将引发IllegalArgumentException 。 比较两个 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方法进行比较。 其他方法 让我们介绍一下Java UUID类的其他一些方法 1. 顾名思义 getLeastSignificantBits和getMostSignificantBits分别返回64个最低有效位和64个最高有效位 UUID uuid UUID.randomUUID();long leastSignificantBits uuid.getLeastSignificantBits();
long mostSignificantBits uuid.getMostSignificantBits(); 这两种方法都返回一个long值。 2. 我们还可以查询UUID的变体和版本 UUID uuid UUID.randomUUID();int variant uuid.variant();
int version uuid.version();使用基于时间的 让我们从在POM中为java- uuid -generator添加一个依赖关系开始 dependencygroupIdcom.fasterxml.uuid/groupIdartifactIdjava-uuid-generator/artifactIdversion3.1.5/version
/dependency 请注意该库提供了各种类型的UUID生成器。 要创建基于时间的UUID 我们将具有 UUID uuid Generators.timeBasedGenerator().generate(); 处理v1 UUID时方便使用的java.util包中的其他方法包括 1. timestamp 返回与给定的v1 UUID关联的时间戳值 。 与任何其他类型的UUID一起使用时此方法将引发UnsupportedOperationException 。 2. clockSequence 它返回一个14位值该值是根据给定UUID的时钟序列字段构造的 。 它还会为v1类型以外的UUID抛出UnsupportedOperationException 。 结论 在本教程中我们了解了什么是UUID及其变体。 我们讨论了变量类型2的不同可用版本。 我们还介绍了Java UUID类公开的许多方法。 翻译自: https://www.javacodegeeks.com/2019/03/java-uuid.html