相关疑难解决方法(0)

AtomicInteger的实际用途

我有点理解AtomicInteger和其他Atomic变量允许并发访问.在什么情况下这个类通常使用?

java concurrency atomic

214
推荐指数
8
解决办法
18万
查看次数

使用Java 7或Java 6生成随机UUID的性能

我有一个基于Web的Java应用程序,它为会话信息生成随机UUID.我们的一位测试人员根据他自己的分析声称最多可以生成350毫秒来生成UUID,但我还没有能够复制他的结果.他指出这篇文章http://www.cowtowncoder.com/blog/archives/2010/10/entry_429.html来帮助支持他的结果.我想看看是否有其他人在Java 6或Java 7应用程序中使用Java的内置UUID生成功能遇到了这个限制.

java uuid

17
推荐指数
5
解决办法
3万
查看次数

在Java中生成全局唯一标识符

简介:我正在开发一个持久的Java Web应用程序,我需要确保我持有的所有资源都具有全局唯一标识符以防止重复.

精美印刷品:

  1. 我没有使用RDBMS,所以我没有任何花哨的序列生成器(例如Oracle提供的那个)
  2. 我希望它快速,最好全部在内存中 - 我宁愿不必打开一个文件并增加一些值
  3. 它需要是线程安全的(我预计一次只有一个JVM需要生成ID)
  4. 需要在JVM的实例化之间保持一致.如果服务器关闭并启动,ID生成器不应该重新生成它在先前实例化中生成的相同ID(或者至少机会必须真正,非常小 - 我预计会有数百万个预先存储的资源)
  5. 我已经看到了EJB唯一ID模式文章中的示例.它们不适用于我(我宁愿不仅仅依赖于System.currentTimeMillis(),因为我们将每毫秒保持多个资源).
  6. 我看过这个问题中提出的答案.我对它们的关注是,随着时间的推移,我将获得重复ID的可能性是多少?我对使用java.util.UUID作为UUID的建议很感兴趣,但同样,重复的可能性要小得无限.
  7. 我正在使用JDK6

java uuid persistence uniqueidentifier

12
推荐指数
1
解决办法
3万
查看次数

使用新的Date()作为唯一标识符

想象一下,我有一个每秒创建1000个实体的过程.对于每个这些实体,我称之为setter:

newEntity.setDate(new Date());
Run Code Online (Sandbox Code Playgroud)

1)2个实体可能会收到相同的日期吗?或者可以安全地假设我确实获得了日期字段的唯一标识符效果?

2)如果对问题#1的回答是:"是" - 让我们做一个小调整:让我们创建一个函数:

public static synchronized Date getDate() {
     return new Date();
}
Run Code Online (Sandbox Code Playgroud)

它现在会起作用吗?

newEntity.setDate(getDate());
Run Code Online (Sandbox Code Playgroud)

3)怎么样

System.nanoTime()?
Run Code Online (Sandbox Code Playgroud)

编辑 4)怎么样:

public static synchronized Date getDate() {
     Thread.Sleep(1000);
     return new Date();
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

java datetime date unique uniqueidentifier

4
推荐指数
1
解决办法
4246
查看次数