本篇內(nèi)容主要講解“UUID分為幾個版本”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“UUID分為幾個版本”吧!
創(chuàng)新互聯(lián)是專業(yè)的鳳山網(wǎng)站建設(shè)公司,鳳山接單;提供網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鳳山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
通用唯一識別碼(英語:Universally Unique Identifier,縮寫:UUID)是用于計算機(jī)體系中以識別信息數(shù)目的一個128位標(biāo)識符,還有相關(guān)的術(shù)語:全局唯一標(biāo)識符(GUID)。
根據(jù)標(biāo)準(zhǔn)方法生成,不依賴中央機(jī)構(gòu)的注冊和分配,UUID具有唯一性,這與其他大多數(shù)編號方案不同。重復(fù)UUID碼概率接近零,可以忽略不計。
UUID是由一組32位數(shù)的16進(jìn)制數(shù)字所構(gòu)成,故UUID理論上的總數(shù)為16^32=2^128,約等于3.4 x 10^38。也就是說若每納秒(ns)產(chǎn)生1萬億個UUID,要花100億年才會將所有UUID用完。
UUID的標(biāo)準(zhǔn)型式包含32個16進(jìn)制數(shù)字,以連字號分為五段,形式為 8-4-4-4-12 的32個字符。
示例:550e8400-e29b-41d4-a716-446655440000
在其規(guī)范的文本表示中,UUID 的 16 個 8 位字節(jié)表示為 32 個十六進(jìn)制(基數(shù)16)數(shù)字,顯示在由連字符分隔 '-' 的五個組中,"8-4-4-4-12" 總共 36 個字符(32 個字母數(shù)字字符和 4 個連字符)。例如:
123e4567-e89b-12d3-a456-426655440000 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
四位數(shù)字 M表示 UUID 版本,數(shù)字 N的一至三個最高有效位表示 UUID 變體。在例子中,M 是 1 而且 N 是 a(10xx),這意味著此 UUID 是“變體1”、“版本1”UUID;即基于時間的 DCE/RFC 4122 UUID。
對于“變體(variants)1”和“變體2”,標(biāo)準(zhǔn)中定義了五個版本(versions),并且在特定用例中每個版本可能比其他版本更合適。
版本由 M 字符串中指示。
版本1 - UUID 是根據(jù)時間和節(jié)點 ID(通常是MAC地址)生成;
版本2 - UUID是根據(jù)標(biāo)識符(通常是組或用戶ID)、時間和節(jié)點ID生成;
版本3、版本5 - 確定性UUID 通過散列(hashing)名字空間(namespace)標(biāo)識符和名稱生成;
版本4 - UUID 使用隨機(jī)性或偽隨機(jī)性生成。
下面讓我們介紹一下 Java UUID 類中可以用來生成 UUID 的方法:
它使用加密強(qiáng)度高的偽隨機(jī)數(shù)生成器生成v4偽隨機(jī)UUID:
UUID uuid = UUID.randomUUID();
我們可以使用 nameuidfrombytes ()從字節(jié)數(shù)組生成 UUID:
byte[] byteArr = {11, 23, 33}; UUID uuid = UUID.nameUUIDFromBytes(byteArr);
此方法生成 v3 UUID (基于名稱的)。
使用 fromString () ,我們可以從一個標(biāo)準(zhǔn)的字符串表示創(chuàng)建 UUID:
UUID uuid = UUID.fromString("533a4559-e55c-18b3-2456-555563322002");
對于作為參數(shù)傳入的任何無效字符串,它將拋出 IllegalArgumentException。
Java UUID 實現(xiàn)了 Comparable 接口,因此,我們可以使用 compareTo ()方法來比較它們
UUID uuid1 = UUID.randomUUID(); UUID uuid2 = UUID.randomUUID(); int` `result = uuid1.compareTo(uuid2);
如我們所知,compareTo ()方法返回:
1: 如果uuid1大于uuid2
0:如果uuid1=uuid2
-1: 如果uuid1小于uuid2
我們也可以選擇使用 equals ()方法進(jìn)行比較。
到此,相信大家對“UUID分為幾個版本”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站標(biāo)題:UUID分為幾個版本
當(dāng)前網(wǎng)址:http://chinadenli.net/article46/gpcceg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、商城網(wǎng)站、ChatGPT、網(wǎng)站改版、品牌網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)