java 根据单当前系统时间生成唯一ID,保证id的唯一性
package com.hxjr.utils.msg;
import java.text.SimpleDateFormat;
import java.util.Date;
public class IDGenerator {
private static long tmpID = 0;
private static boolean tmpIDlocked = false;
public synchronized static long getId() {
long ltime = 0;
while (true)
{
if(tmpIDlocked == false)
{
tmpIDlocked = true;
ltime = Long.valueOf(new SimpleDateFormat("yyMMddhhmmssSSS").format(new Date()).toString()) * 10000;
if(tmpID < ltime)
{
tmpID = ltime;
}
else
{
tmpID = tmpID + 1;
ltime = tmpID;
}
tmpIDlocked = false;
return ltime;
}
}
}
}