UUID 的目的,是讓分佈式系統中的全部元素,都能有惟一的辨識信息,而不須要經過中央控制端來作辨識信息的指定。vue
hutool Java工具包集
mica 基於 Spring、 java8 微服務工具集java
測試基於 JMH,是專門用於代碼微基準測試的工具套件,基於方法層面的基準測試,精度能夠達到微秒級。git
壓測代碼源碼存放於 github,感興趣的朋友能夠:https://github.com/lets-mica/mica-jmhgithub
@Benchmark public String jdk8UUId() { return UUID.randomUUID().toString(); }
@Benchmark public String jdk8ThreadLocalRandomUUId() { ThreadLocalRandom random = ThreadLocalRandom.current(); UUID uuid = new UUID(random.nextInt(), random.nextInt()); return uuid.toString(); }
@Benchmark public String hutoolFastSimpleUUID() { return IdUtil.fastSimpleUUID(); }
@Benchmark public String micaUUId() { return StringUtil.getUUID(); }
Benchmark | Score | Error | Units |
---|---|---|---|
jdk8UUId | 734.595 | 17.220 | ops/ms |
jdk8ThreadLocalRandomUUId | 3224.759 | 32.107 | ops/ms |
hutoolFastSimpleUUID | 3619.748 | 67.195 | ops/ms |
micaUUId(java9 方式) | 12375.405 | 241.879 | ops/ms |
說明:每毫秒生成的 uuid
數,得分越高越好。算法
mica 因爲參考(copy) java9 的 uuid 生成方式性能強勁,是 jdk8 ThreadLocalRandom 和 hutool FastSimpleUUID 的3到4倍的。數據庫
因爲 uuid 的使用場景通常都須要高性能高併發,你們在使用的時候能夠嘗試使用 java9+
或者參考他的算法去實現。cookie
mica
工具集:https://gitee.com/596392912/mica Avue
一款基於vue可配置化的神奇框架:https://gitee.com/smallweigit/avue pig
宇宙最強微服務(架構師必備):https://gitee.com/log4j/pig SpringBlade
完整的線上解決方案(企業開發必備):https://gitee.com/smallc/SpringBlade IJPay
支付SDK讓支付觸手可及:https://gitee.com/javen205/IJPay
掃描上面二維碼,更多精彩內容天天推薦!session