当前位置: 首页 > 面试题库 >

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

习和通
2023-03-14
问题内容

在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();

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

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


问题答案:

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



 类似资料:
  • 问题 你想随机生成一个唯一的标识符。 解决方案 可以根据一个随机数值生成一个 Base 36 编码的字符串。 uniqueId = (length=8) -> id = "" id += Math.random().toString(36).substr(2) while id.length < length id.substr 0, length uniqueId() # =

  • 问题内容: 如何生成不猜测下一个数字的java中的整数的唯一ID? 问题答案: 它需要有多独特? 如果它仅在流程中唯一,则可以在每次需要新值时使用和调用。

  • 本文向大家介绍3种php生成唯一id的方法,包括了3种php生成唯一id的方法的使用技巧和注意事项,需要的朋友参考一下 小编在网上查了许多关于php生成唯一id方法的文章,发现有很多的方法,特整理本文与大家分享php生成唯一id的解决方法,希望大家喜欢。 1、md5(time() . mt_rand(1,1000000));   这种方法有一定的概率会出现重复 2、php内置函数uniqid()

  • 问题内容: 我正在使用PHP和MySQL编写脚本,并且想要获得一个唯一的ID(由字符串组成:大写字母和带数字的小写字母),例如:。我在PHP中发现了许多可以生成此类数字的函数,但我担心如何确保id唯一! 更新 :uuid很长,我的意思是这样的ID:(P5Dc)一个11个字母数字的字符。 问题答案: 一个 编程的方式 可以是: 在字段中添加一个唯一索引 在PHP中生成随机字符串 在PHP中循环(wh

  • 问题内容: 我不一定要使用UUID,因为它们相当长。 该文件只需要在其目录中是唯一的。 我想到的一个想法是使用,但这似乎是错误的,因为该文件不是临时文件。 需要处理在同一毫秒内创建的两个文件的情况。 问题答案: 好吧,您可以使用3个参数的版本:它将让您将其放置在所需的位置。除非您告知,否则Java将不会像对待其他任何文件一样对待它。唯一的缺点是,文件名必须保证至少8个字符长(前缀至少3个字符,再加

  • 问题内容: 我正在创建一个Web API,需要一种很好的方法来非常快速地生成一些格式正确的xml。我找不到在python中执行此操作的任何好方法。 注意:一些库看起来很有前途,但要么缺少文档,要么仅输出到文件。 问题答案: 使用lxml: 输出: 有关更多信息,请参见教程。