Java 生成长类型的UUID
请给我一个示例代码,在java中生成Java 生成长类型的UUID,java,uuid,uniqueidentifier,Java,Uuid,Uniqueidentifier,请给我一个示例代码,在java中生成UUID的long类型,而不使用时间戳 谢谢你看了吗?如果你只想要一个简单的唯一long,你可以使用AtomicLong.incrementAndGet()。这不使用时间戳,但每次启动时都会重置为0,并且在JVM中不是唯一的 不使用时间戳的要求是什么?UUID使用时间戳。(其他方面)一个真正的UUID是128位。长字符是64位 这不仅仅是迂腐。UUID代表通用唯一标识符 产品的“普遍独特性”基于: 对MAC地址和时间戳进行编码 对DNS名称和时间戳的哈希进行
UUID
的long
类型,而不使用时间戳
谢谢你看了吗?如果你只想要一个简单的唯一long,你可以使用AtomicLong.incrementAndGet()。这不使用时间戳,但每次启动时都会重置为0,并且在JVM中不是唯一的
不使用时间戳的要求是什么?UUID使用时间戳。(其他方面)一个真正的UUID是128位。长字符是64位 这不仅仅是迂腐。UUID代表通用唯一标识符 产品的“普遍独特性”基于:
- 对MAC地址和时间戳进行编码
- 对DNS名称和时间戳的哈希进行编码,或
- 使用122位随机数。。。它足够大,碰撞的概率非常小
现在,如果您只需要一个UID(而不是UUID),那么任何64位序列生成器都可以完成这项工作,只要您采取措施防止序列重复。(如果序列重复,则ID在时间上不是唯一的;即,随着时间的推移,给定ID可能表示不同的实体。)UUID表示128位的值。这不适用于
长的。某些UUID类型的可能重复使用时间戳,有些使用其他方法来获得唯一性。@StephenC很有道理。我不知道有4种有文档记录的方法来生成UUID。