public class Bbbb { public static void main(String[] args) { //42位时间戳+8位机器码+16位hash预留 long time = System.currentTimeMillis(); long serverid = 100; // serverid 不能超过256 long userid = 123213123123l; long last16 = getLast(userid, 16); System.out.println(last16); long id = (time << 24) + (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; } }
?
原文:http://supben.iteye.com/blog/2257422