在Java中生成唯一ID的最佳方法

问题描述

如何使用UUID:http ://java.sun.com/j2se/1.5.0/docs/api/java/util/UUID.html#randomUUID%28%29

解决方法

在Java中生成唯一ID的最佳方法是什么。人们普遍使用

String id = System.currentTimeMillis+ someStaticCounter;

但是这种方法需要在多线程应用程序中进行同步。

我在用

try 
{
   Thread.sleep(1); 
  //This sleep ensures that two consecutive calls from the same thread does not return the same id.
}
catch (InterruptedException e)
{
 // do nothing;
}
id = System.currentTimeMillis() + "-" + Thread.currentThread().getId();

这种方法可以帮助我避免同步开销。

有什么更好的方法请提出建议?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”