av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

JAVA生成短8位UUID的實(shí)例講解

瀏覽:40日期:2022-08-18 14:28:27

短8位UUID思想其實(shí)借鑒微博短域名的生成方式,但是其重復(fù)概率過高,而且每次生成4個(gè),需要隨即選取一個(gè)。

本算法利用62個(gè)可打印字符,通過隨機(jī)生成32位UUID,由于UUID都為十六進(jìn)制,所以將UUID分成8組,每4個(gè)為一組,然后通過模62操作,結(jié)果作為索引取出字符,

這樣重復(fù)率大大降低。

經(jīng)測試,在生成一千萬個(gè)數(shù)據(jù)也沒有出現(xiàn)重復(fù),完全滿足大部分需求。代碼貼出來供大家參考。

public static String[] chars = new String[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; public static String generateShortUuid() { StringBuffer shortBuffer = new StringBuffer(); String uuid = UUID.randomUUID().toString().replace('-', ''); for (int i = 0; i < 8; i++) { String str = uuid.substring(i * 4, i * 4 + 4); int x = Integer.parseInt(str, 16); shortBuffer.append(chars[x % 0x3E]); } return shortBuffer.toString(); }

補(bǔ)充:生成 8 / 16 / 32 位的UUID

我就廢話不多說了,大家還是直接看實(shí)例吧~

import java.util.UUID; public class TestUUID { // 得到16位的UUID-(數(shù)字)public static String getUUID_16() {int machineId = 1;// 最大支持1-9個(gè)集群機(jī)器部署 int hashCodeV = UUID.randomUUID().toString().hashCode();if (hashCodeV < 0) {// 有可能是負(fù)數(shù)hashCodeV = -hashCodeV;}String string = machineId + String.format('%015d', hashCodeV);return string;} // 得到32位的UUID-(數(shù)字)public static String getUUID_32() {return UUID.randomUUID().toString().replace('-', '').toLowerCase();} //得到8位的UUID-(碼)public static String[] chars = new String[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n','o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8','9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T','U', 'V', 'W', 'X', 'Y', 'Z' }; public static String getUUID_8() {StringBuffer shortBuffer = new StringBuffer();String uuid = UUID.randomUUID().toString().replace('-', '');for (int i = 0; i < 8; i++) {String str = uuid.substring(i * 4, i * 4 + 4);int x = Integer.parseInt(str, 16);shortBuffer.append(chars[x % 0x3E]);}return shortBuffer.toString(); } public static void main(String[] args) { System.out.println(getUUID_8());} }

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日韩黄色在线观看 | 欧美特级黄色片 | 91在线免费视频观看 | 亚洲一区三区 | 国产理论片 | 日韩欧美国产成人 | www99热 | 日韩一区二区在线观看视频 | 91免费版看片 | 蜜臀久久99精品久久久久久宅男 | 国产乱轮视频 | 999久久久国产精品 亚洲黄色三级 | 99久久精品一区二区成人 | 二区三区视频 | 欧美极品视频 | 久艹在线观看 | 亚洲激情四射 | 黄色片免费观看 | 国产乡下妇女做爰视频 | av在线天堂网 | 国产午夜小视频 | 高清一区二区三区 | 91三级视频 | 91成人免费| 午夜999 | 一级特黄aaaaaa大片 | 日本一级黄色大片 | 欧美一级黄 | 日韩一级欧美一级 | 国产视频一区二区在线 | 国产又爽又黄免费视频 | 亚洲国产第一页 | av片在线免费观看 | 中文在线免费观看 | 国产精品视屏 | 22精品一区二区三区 | 亚洲黄色在线观看 | 国产精品黄色 | 精品久久免费视频 | 欧美精品在线一区 | 欧美在线不卡 |