成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用java9的uuid生成方式,讓uuid生成速度提升一個檔

jackwang / 3075人閱讀

摘要:簡介的目的,是讓分布式系統(tǒng)中的所有元素,都能有唯一的辨識信息,而不需要通過中央控制端來做辨識信息的指定??偨Y(jié)由于參考的生成方式性能強勁,是和的到倍的。

簡介

UUID 的目的,是讓分布式系統(tǒng)中的所有元素,都能有唯一的辨識信息,而不需要通過中央控制端來做辨識信息的指定。

uuid 常用場景

IOT 設備,設備號;

網(wǎng)站 sessionid,cookie 用戶id;

數(shù)據(jù)庫主鍵id;

uuid 生成工具

hutool Java工具包集
mica 基于 Spring、 java8 微服務工具集

壓測代碼

測試基于 JMH,是專門用于代碼微基準測試的工具套件,基于方法層面的基準測試,精度可以達到微秒級。

壓測代碼源碼存放于 github,感興趣的朋友可以:https://github.com/lets-mica/mica-jmh

jdk8UUId
@Benchmark
public String jdk8UUId() {
    return UUID.randomUUID().toString();
}
jdk8ThreadLocalRandomUUId
@Benchmark
public String jdk8ThreadLocalRandomUUId() {
    ThreadLocalRandom random = ThreadLocalRandom.current();
    UUID uuid = new UUID(random.nextInt(), random.nextInt());
    return uuid.toString();
}
hutoolFastSimpleUUID
@Benchmark
public String hutoolFastSimpleUUID() {
    return IdUtil.fastSimpleUUID();
}
micaUUId
@Benchmark
public String micaUUId() {
    return StringUtil.getUUID();
}
壓測環(huán)境

OS: macOS Mojave

CPU: 2.8 GHz Intel Core i5

RAM: 8 GB 1600 MHz DDR3

JVM: Oracle 1.8.0_201 64 bits

壓測結(jié)果
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 數(shù),得分越高越好。

總結(jié)

mica 由于參考(copy) java9 的 uuid 生成方式性能強勁,是 jdk8 ThreadLocalRandom 和 hutool FastSimpleUUID 的3到4倍的。

由于 uuid 的使用場景一般都需要高性能高并發(fā),大家在使用的時候可以嘗試使用 java9+ 或者參考他的算法去實現(xiàn)。

開源推薦

Spring boot 微服務高效開發(fā)?mica?工具集:https://gitee.com/596392912/mica

Avue?一款基于vue可配置化的神奇框架:https://gitee.com/smallweigit/avue

pig?宇宙最強微服務(架構(gòu)師必備):https://gitee.com/log4j/pig

SpringBlade?完整的線上解決方案(企業(yè)開發(fā)必備):https://gitee.com/smallc/SpringBlade

IJPay?支付SDK讓支付觸手可及:https://gitee.com/javen205/IJPay

關注我們

掃描上面二維碼,更多精彩內(nèi)容每天推薦!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/74001.html

相關文章

  • 通用唯一標識碼UUID介紹及使用。

    摘要:什么是全稱,即通用唯一識別碼。目前最廣泛應用的,是微軟公司的全局唯一標識符,而其他重要的應用,則有文件系統(tǒng)加密分區(qū)等等。的唯一缺陷在于生成的結(jié)果串會比較長。關于這個標準使用最普遍的是微軟的。 什么是UUID? UUID全稱:Universally Unique Identifier,即通用唯一識別碼。 UUID是由一組32位數(shù)的16進制數(shù)字所構(gòu)成,是故UUID理論上的總數(shù)為16^32 ...

    pkhope 評論0 收藏0
  • 關于UUID二三事

    摘要:規(guī)范定義來自于發(fā)布的一個規(guī)范。其中的字母是進制表示,大小寫無關。在里面的使用的例子其中,最后的個字符就是我電腦網(wǎng)卡的地址版本安全的安全的和基于時間的算法相同,但會把時間戳的前位置換為的或。 一、簡介 UUID,是Universally Unique Identifier的縮寫,UUID出現(xiàn)的目的,是為了讓分布式系統(tǒng)可以不借助中心節(jié)點,就可以生成UUID來標識一些唯一的信息; GUID,...

    2json 評論0 收藏0
  • Elixir Ecto: 在Postgres中使用UUID類型主鍵

    摘要:使用作為主鍵的目的降低類型這種自增線性特征作為隨機生成的字符串讓更離散增強系統(tǒng)的反爬蟲能力至少避免通過的線性增加來爬取內(nèi)容這種最簡單的爬取方式使用主鍵的是那種方式各有優(yōu)缺點可按實際需求自行權(quán)衡在應用程序中生成并插入到數(shù)據(jù)庫通過使用擴展自動生 使用UUID作為主鍵的目的 降低Serial類型這種自增ID線性特征, UUID作為隨機生成的字符串, 讓ID更離散, 增強系統(tǒng)的反爬蟲能力(至...

    OnlyLing 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<