public class Bbbb {
public static void main(String[] args) {
//42位时间戳+6位机器码+16位hash预留
long time = System.currentTimeMillis();
long serverid = 30; // serverid 不能超过64
long userid = 123213123123l;
long last16 = getLast(userid, 16);
System.out.println(last16);
long id = (time << 22) + (serverid << 16) + last16;
System.out.println(id);
long id_last16 = getLast(id, 16);
System.out.println(id_last16);
}
public static long getLast(long l, int last){
long i = (l >> last) << last;
return l-i;
}
}
本文介绍了一种使用Java实现的唯一ID生成方法,包括时间戳、服务器ID和用户ID的组合,并通过特定算法确保ID的一致性和高效性。通过示例代码展示如何在实际应用中应用此方法。
193

被折叠的 条评论
为什么被折叠?



