我需要为我的爪哇申请 提供独特的号码 满足以下要求
- 9 digit hexadecimal
- About 600,000 numbers to be generated everyday
- The numbers must remain unique for a minimum period of 7 days; not a problem if they repeat beyond 7 days period.
- During peak loads, about 800 unique numbers need to be generated every second for about 15 seconds.
不成功的解决办法
public static String getUniqueId() {
String uniqueTime = Long.toHexString(System.nanoTime());
String uniqueId = uniqueTime.substring(uniqueTime.length() - 9);
return uniqueId;
}
使用纳米时间生成了 12 位数的十六进制数。 我截读了 3 个左字符 。 纳米时间帮助正在处理峰值负载 。
我认为这不正确,可能导致重复。
有人能提供快速算法吗?