天天看點

用java生成32位全球唯一的id編号

  GUID是一個128位長的數字,一般用16進制表示。算法的核心思想是結合機器的網卡、當地時間、一個随即數來生成GUID。從理論上講,如果一台機器每秒産生10000000個GUID,則可以保證(機率意義上)3240年不重複。UUID是1.5中新增的一個類,在java.util下,用它可以産生一個号稱全球唯一的ID。

  UUID含義是通用唯一識别碼 (Universally Unique Identifier),這 是一個軟體建構的标準,也是被開源軟體基金會 (Open Software Foundation, OSF) 的組織在分布式計算環境 (Distributed Computing Environment, DCE) 領域的一部份。UUID 的目的,是讓分布式系統中的所有元素,都能有唯一的辨識資訊,而不需要透過中央控制端來做辨識資訊的指定。如此一來,每個人都可以建立不與其它人沖突的 UUID。在這樣的情況下,就不需考慮資料庫建立時的名稱重複問題。目前最廣泛應用的 UUID,即是微軟的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的應用,則有 Linux ext2/ext3 檔案系統、LUKS 加密分割區、GNOME、KDE、Mac OS X 等等。

  UUID的唯一缺陷在于生成的結果串會比較長。 

  代碼如下:

public static void main(String[] args) {
    //生成唯一id
        String id= UUID.randomUUID().toString();
    //替換uuid中的"-"
        id=id.replace("-", "");
        System.out.println(id);
    }
           

  

轉載于:https://www.cnblogs.com/chenfeifen/p/9556922.html