java.util.UUID存在并发问题吗
PHP中文网
PHP中文网 2017-04-18 09:26:25
0
2
416

如题所述,有根据最好了,或者说在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

PHP中文网
PHP中文网

认证0级讲师

全部回覆(2)
Peter_Zhu
  1. 這個BUG链接里面也说了在JDK1.7里面已经被Fix掉了.所以UUID目前看来在JDK1.7以上版本都是沒有併發問題的

  2. 其實UUID是一中很費性能的獲取唯一鍵的方式.在分佈式環境中,建議直接用本機的Ip和自增的AtomicLong(當然可以加上隨機數)來完成整個分佈式的唯一鍵生成

迷茫

謝邀。
例如電商中訂單號碼的生成,一般是預先生成某一天的訂單號碼(預估數量,例如昨天有100W訂單,今天產生100W個+一定冗餘),放在memcache或者redis等緩存上,也可以放在MQ裡,作為訂單號碼池。要用,就消費訂單號池裡的,絕對唯一。
怎麼生成就視乎你業務邏輯了。一般想完全無重複,就產生0~100W的數列,再shuffle一下即可。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!