java uuid

1.UUID 的目的诈皿,是讓分布式系統(tǒng)中的所有元素瓦胎,都能有唯一的辨識資訊矾利,而不需要透過中央控制端來做辨識資訊的指定拷肌。如此一來,每個人都可以建立不與其它人沖突的 UUID简逮。

2.用到了以太網(wǎng)卡地址球散、納秒級時間、芯片ID碼和許多可能的數(shù)字

UUID由以下幾部分的組合:
(1)當前日期和時間散庶,UUID的第一個部分與時間有關(guān)蕉堰,如果你在生成一個UUID之后,過幾秒又生成一個UUID督赤,則第一個部分不同嘁灯,其余相同泻蚊。
(2)時鐘序列躲舌。
(3)全局唯一的IEEE機器識別號,如果有網(wǎng)卡性雄,從網(wǎng)卡MAC地址獲得没卸,沒有網(wǎng)卡以其他方式獲得。

UUID的唯一缺陷在于生成的結(jié)果串會比較長秒旋。

UUID 來作為數(shù)據(jù)庫數(shù)據(jù)表主鍵是非常不錯的選擇约计,保證每次生成的UUID 是唯一的。

a.生成 UUID
需要用到j(luò)ava 自帶 JDk;

import java.util.UUID;
public static void main(String[] args) {
for(int i=0;i<10;i++){
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
System.out.println(uuid);
}
}

b.生成指定數(shù)目的 UUID

/** 
* 獲得指定數(shù)目的UUID 
* @param number int 需要獲得的UUID數(shù)量 
* @return String[] UUID數(shù)組 
*/ 
public static String[] getUUID(int number){ 
if(number < 1){ 
return null; 
} 
String[] retArray = new String[number]; 
for(int i=0;i<number;i++){ 
retArray[i] = getUUID(); 
} 
return retArray; 
}

/** 
* 獲得一個UUID 
* @return String UUID 
*/ 
public static String getUUID(){ 
String uuid = UUID.randomUUID().toString(); 
//去掉“-”符號 
return uuid.replaceAll("-", "");
}

為啥用uuid而不用自增長方式呢迁筛?

首先為什么要用uuid控制主鍵呢煤蚌?

相比較自動增長的int類型的主鍵有什么好處?

當數(shù)據(jù)量多细卧、登錄用戶量多尉桩、遇到高并發(fā)的時候,自增長不利于維護贪庙,也不利于拓展蜘犁,而且也有可能出現(xiàn)幾個人同時插入自增長的同一個id 比如自增長到了100,ABC三個用戶同時插入的時候會不會出現(xiàn)同時插入101止邮?或者覆蓋101數(shù)據(jù)呢这橙?這就是弊端。

為啥用uuid而不用自增長方式呢导披?

首先為什么要用uuid控制主鍵呢屈扎?

相比較自動增長的int類型的主鍵有什么好處?

當數(shù)據(jù)量多撩匕、登錄用戶量多鹰晨、遇到高并發(fā)的時候,自增長不利于維護,也不利于拓展并村,而且也有可能出現(xiàn)幾個人同時插入自增長的同一個id 比如自增長到了100巍实,ABC三個用戶同時插入的時候會不會出現(xiàn)同時插入101?或者覆蓋101數(shù)據(jù)呢哩牍?這就是弊端棚潦。

uuid是string,不是int數(shù)值

uuid是string膝昆,不是int數(shù)值丸边,

uuid是string,不是int數(shù)值荚孵,

uuid是string妹窖,不是int數(shù)值,

 

uuid = uuid.replace("-", "");               //因為UUID本身為32位只是生成時多了“-”收叶,所以將它們?nèi)c就可  

 

uuid = uuid.replace("-", "");               //因為UUID本身為32位只是生成時多了“-”骄呼,所以將它們?nèi)c就可  

 

uuid = uuid.replace("-", "");               //因為UUID本身為32位只是生成時多了“-”,所以將它們?nèi)c就可  

輸出結(jié)果:

1 fd61384b-05a5-4030-885e-a6bd3b60ef1a

下面是去除UUID中的"-"

輸出結(jié)果:

1 fd61384b-05a5-4030-885e-a6bd3b60ef1a

下面是去除UUID中的"-"

輸出結(jié)果:

1 fd61384b-05a5-4030-885e-a6bd3b60ef1a

歡迎加入學習交流群569772982判没,大家一起學習交流蜓萄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市澄峰,隨后出現(xiàn)的幾起案子嫉沽,更是在濱河造成了極大的恐慌,老刑警劉巖俏竞,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绸硕,死亡現(xiàn)場離奇詭異,居然都是意外死亡魂毁,警方通過查閱死者的電腦和手機玻佩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漱牵,“玉大人夺蛇,你說我怎么就攤上這事『ㄕ停” “怎么了刁赦?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長闻镶。 經(jīng)常有香客問我甚脉,道長,這世上最難降的妖魔是什么铆农? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任牺氨,我火速辦了婚禮狡耻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猴凹。我一直安慰自己夷狰,他們只是感情好,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布郊霎。 她就那樣靜靜地躺著沼头,像睡著了一般。 火紅的嫁衣襯著肌膚如雪书劝。 梳的紋絲不亂的頭發(fā)上进倍,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機與錄音购对,去河邊找鬼猾昆。 笑死,一個胖子當著我的面吹牛骡苞,可吹牛的內(nèi)容都是我干的垂蜗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼烙如,長吁一口氣:“原來是場噩夢啊……” “哼么抗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起亚铁,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎螟加,沒想到半個月后徘溢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡捆探,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年然爆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黍图。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡曾雕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出助被,到底是詐尸還是另有隱情剖张,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布揩环,位于F島的核電站搔弄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏丰滑。R本人自食惡果不足惜顾犹,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炫刷,春花似錦擎宝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锄奢,卻和暖如春失晴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拘央。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工涂屁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人灰伟。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓拆又,卻偏偏與公主長得像,于是被迫代替她去往敵國和親栏账。 傳聞我的和親對象是個殘疾皇子帖族,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容