java.util.UUID存在并发问题吗

发布于 2022-09-03 01:15:16 字数 470 浏览 11 评论 0

如题所述,有根据最好了,或者说在highly mutilthread env环境下,加synchronized wrapper下吗,怎么才能比较好的降低并发产生,又不大范围(如果使用这个生成随机串的次数很多,比如一天百万级别的,对于生成随机串怎么降低或者说保证唯一)影响性能.

http://stackoverflow.com/questions/7212635/is-java-util-uuid-thread-safe
http://bugs.java.com/view_bug.do?bug_id=6611830

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何其悲哀 2022-09-10 01:15:16
  1. 这个BUG链接里面也说了在JDK1.7里面已经被Fix掉了.所以UUID目前看来在JDK1.7及以上版本都是没有并发问题的

  2. 其实UUID是一中很费性能的获取唯一键的方式.在分布式环境中,建议直接用本机的Ip和自增的AtomicLong(当然可以加上随机数)来完成整个分布式的唯一键生成

赠意 2022-09-10 01:15:16

谢邀。
例如电商中订单号的生成,一般是预先生成某一天的订单号(预估数量,比如昨天有100W订单,今天产生100W个+一定冗余),放在memcache或者redis等缓存上,也可以放在MQ里,作为订单号池。要用,就消费订单号池里的,绝对唯一。
怎么生成就视乎你业务逻辑了。一般想完全无重复,就产生0~100W的数列,再shuffle一下即可。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文