[英]How can I assemble bits into a long to create a unique ID?
我想编写一个实用程序,它将在Java中为我提供一个相对唯一的ID。 很简单,例如时间戳记中的x位和随机数中的y位。
因此,我将如何实现以下方法:
long getUniqueID()
{
long timestamp = System.currentTimeMillis();
long random = some random long
...
return id;
}
奖金
对我可以用来形成ID的其他易于获得的信息有什么建议吗?
注意:我知道GUID,并且我知道Java具有UUID类,但是我不想要128位长的东西。
只需剪掉不需要的部分:
return java.util.UUID.randomUUID().getLeastSignificantBits();
如果在同一个JVM中唯一就足够了,那么应该执行类似的操作。
public class UniqueID {
static long current= System.currentTimeMillis();
static public synchronized long get(){
return current++;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.