利用Java生成UUID

UUID是什麼?

UUID 是 通用惟一識別碼(Universally Unique Identifier)的縮寫,是一種軟件建構的標準,亦爲開放軟件基金會組織在分佈式計算環境領域的一部分。其目的,是讓分佈式系統中的全部元素,都能有惟一的辨識信息,而不須要經過中央控制端來作辨識信息的指定。如此一來,每一個人均可以建立不與其它人衝突的UUID。在這樣的狀況下,就不需考慮數據庫建立時的名稱重複問題。-----來自百度百科java

UUID組成:

UUID是指在一臺機器上生成的數字,它保證對在同一時空中的全部機器都是惟一的。正則表達式

UUID由如下幾部分的組合:
(1)當前日期和時間,UUID的第一個部分與時間有關,若是你在生成一個UUID以後,過幾秒又生成一個UUID,則第一個部分不一樣,其他相同。
(2)時鐘序列。
(3)全局惟一的IEEE機器識別號,若是有網卡,從網卡MAC地址得到,沒有網卡以其餘方式得到。

UUID在通常狀況下很難生成一致的編碼,不是說絕對的,可是就如今通常的使用狀況下沒有重複的出現,利用這個特色咱們能夠做爲數據庫的主鍵區分各個實例。

UUID的格式以下,由於java中有UUID這個工具類,專門來生成UUID,在java.util包中,因此很簡單,直接調用方法便可數據庫

在寫java實現註冊發送郵箱的時候想到了MD5加密,向註冊郵箱發送數字加密後的驗證碼,點擊註冊連接發送驗證碼比對註冊,發dom

現UUID這個正好適合驗證註冊的條件,並且有現成的工具類。分佈式


下面是一個簡單的生成代碼:把生成的UUID簡單的處理了一下
工具

import java.util.UUID;

public class Uuid {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            //注意replaceAll前面的是正則表達式
            String uuid = UUID.randomUUID().toString().replaceAll("-","");
            System.out.println(uuid);
//            System.out.println(uuid.length());
        }
    }
}
相關文章
相關標籤/搜索