diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/data/id/UUID.java b/hutool-core/src/main/java/org/dromara/hutool/core/data/id/UUID.java index 97feaca52..7b0755399 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/data/id/UUID.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/data/id/UUID.java @@ -23,6 +23,22 @@ import java.util.Random; /** * 提供通用唯一识别码(universally unique identifier)(UUID)实现,UUID表示一个128位的值。
* 此类拷贝自java.util.UUID,用于生成不带-的UUID字符串 + *

+ *

Generate UUID 不同版本UUID在线生成和参考:Generate UUID

+ *

UUID 的 5 个版本:UUID 5 version 区别

+ *

UUID代码实现参考:sake/uuid4j实现

+ *

+ * + * version 字段保存描述此 UUID 类型的值。有 7 种不同的基本 UUID 类型:基于时间的 UUIDv1、DCE 安全 UUIDv2、基于名称的 UUIDv3 、随机生成的 UUIDv4、基于名称的SHA-1算法的 UUIDv5、基于时间的随机生成的 UUIDv6 和 基于时间戳的 UUIDv7。
+ * 这些类型的 version 值分别为 1、2、3、4、5、6 和 7。最常用的V4 * *

* 这些通用标识符具有不同的变体。此类的方法用于操作 Leach-Salz 变体,不过构造方法允许创建任何 UUID 变体(将在下面进行描述)。 @@ -47,8 +63,6 @@ import java.util.Random; *

* variant 字段包含一个表示 UUID 布局的值。以上描述的位布局仅在 UUID 的 variant 值为 2(表示 Leach-Salz 变体)时才有效。 * *

- * version 字段保存描述此 UUID 类型的值。有 4 种不同的基本 UUID 类型:基于时间的 UUID、DCE 安全 UUID、基于名称的 UUID 和随机生成的 UUID。
- * 这些类型的 version 值分别为 1、2、3 和 4。 * * @since 4.1.11 */ @@ -105,7 +119,7 @@ public class UUID implements java.io.Serializable, Comparable { } /** - * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。 + * 获取类型 4 UUIDv4(伪随机生成的)UUID 的静态工厂。 使用加密的本地线程伪随机数生成器生成该 UUID。 * * @return 随机生成的 {@code UUID} */ @@ -114,7 +128,7 @@ public class UUID implements java.io.Serializable, Comparable { } /** - * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 + * 获取类型 4 UUIDv4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 * * @return 随机生成的 {@code UUID} */ @@ -123,7 +137,7 @@ public class UUID implements java.io.Serializable, Comparable { } /** - * 获取类型 4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 + * 获取类型 4 UUIDv4(伪随机生成的)UUID 的静态工厂。 使用加密的强伪随机数生成器生成该 UUID。 * * @param isSecure 是否使用{@link SecureRandom}如果是可以获得更安全的随机码,否则可以得到更好的性能 * @return 随机生成的 {@code UUID} @@ -143,7 +157,7 @@ public class UUID implements java.io.Serializable, Comparable { } /** - * 根据指定的字节数组获取类型 3(基于名称的)UUID 的静态工厂。 + * 根据指定的字节数组获取类型 3 UUIDv3(基于名称的·使用MD5哈希加密)UUID 的静态工厂。 * * @param name 用于构造 UUID 的字节数组。 * @return 根据指定数组生成的 {@code UUID} @@ -215,10 +229,13 @@ public class UUID implements java.io.Serializable, Comparable { *

* 版本号具有以下含意: *

* * @return 此 {@code UUID} 的版本号 diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/data/id/UUIDTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/data/id/UUIDTest.java index d46d14e01..59ea9ac41 100644 --- a/hutool-core/src/test/java/org/dromara/hutool/core/data/id/UUIDTest.java +++ b/hutool-core/src/test/java/org/dromara/hutool/core/data/id/UUIDTest.java @@ -13,7 +13,7 @@ package org.dromara.hutool.core.data.id; import org.dromara.hutool.core.collection.ConcurrentHashSet; -import org.dromara.hutool.core.data.id.UUID; +import org.dromara.hutool.core.lang.Console; import org.dromara.hutool.core.thread.ThreadUtil; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -30,6 +30,7 @@ public class UUIDTest { final Set set = new ConcurrentHashSet<>(100); ThreadUtil.concurrencyTest(100, ()-> set.add(UUID.fastUUID().toString())); Assertions.assertEquals(100, set.size()); + Console.log(set); }