Java 非';的64位唯一ID;t序列

Java 非';的64位唯一ID;t序列,java,uniqueidentifier,Java,Uniqueidentifier,我需要一个唯一的64位ID生成器? 我知道UUID是128位的,但如果java中存在任何版本的id生成器,请告诉我。 ID不按顺序排列很重要。Java中UUID的最低有效一半是非常唯一的,这将为您提供一个64位的数字 UUID.randomUUID().getLeastSignificantBits() 另见: 正如在评论中指出的那样,数字不一定是唯一的,但不太可能重复Java中UUID的最低有效一半是非常唯一的,这将为您提供一个64位的数字 UUID.randomUUID().getLeas

我需要一个唯一的64位ID生成器? 我知道UUID是128位的,但如果java中存在任何版本的id生成器,请告诉我。
ID不按顺序排列很重要。

Java中UUID的最低有效一半是非常唯一的,这将为您提供一个64位的数字

UUID.randomUUID().getLeastSignificantBits()
另见:


正如在评论中指出的那样,数字不一定是唯一的,但不太可能重复

Java中UUID的最低有效一半是非常唯一的,这将为您提供一个64位的数字

UUID.randomUUID().getLeastSignificantBits()
另见:


正如评论中所指出的,数字不能保证唯一,但不太可能重复。您可以在正常计数器上使用Blowfish加密,或者在第一个和最后16个字节上生成UUID4和xor。您可以在正常计数器上使用Blowfish加密,或者生成UUID4和xor第一个和最后16个字节。

您始终可以使用不重复的伪随机数生成器。@HotLicks:我认为对随机数生成器周期的通常解释是它们没有重新启动完全相同的序列,而不是它们没有发出相同的数字?@monocell-取决于RNG。没有一个定义可以涵盖所有内容。您可以始终使用不重复的伪随机数生成器。@HotLicks:我认为对随机数生成器周期的通常解释是它们没有重新启动完全相同的序列,而不是它们没有发出相同的数号?@monocell-取决于RNG。没有一个单一的定义可以涵盖一切。当然,不保证是唯一的,但复制品“不太可能”。谢谢@HotLicks,我试图证明这一点,但我认为我在语法上的选择不是最好的:)当然,不保证是唯一的,但复制品“不太可能”。谢谢@HotLicks,我试着解释一下,但我认为我在语法上的选择不是最好的:)