UUID(Universally Unique Identifier)全局唯一標識符,是指在一台機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。按照開放軟件基金會(OSF)制定的標准計算,用到了以太網卡地址、納秒級時間、芯片ID碼和許多可能的數字。由以下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,如果你在生成一個UUID之后,過幾秒又生成一個UUID,則第一個部分不同,其余相同),時鍾序列,全局唯一的IEEE機器識別號(如果有網卡,從網卡獲得,沒有網卡以其他方式獲得),UUID的唯一缺陷在於生成的結果串會比較長。
在Java中生成UUID主要有以下幾種方式:
JDK1.5
如果使用的JDK1.5的話,那么生成UUID變成了一件簡單的事,以為JDK實現了UUID:
java.util.UUID,直接調用即可.
UUID uuid = UUID.randomUUID();
String s = UUID.randomUUID().toString();//用來生成數據庫的主鍵id非常不錯。。
UUID是由一個十六位的數字組成,表現出來的形式例如
550E8400-E29B-11D4-A716-446655440000
//下面就是實現為數據庫獲取一個唯一的主鍵id的工具類
package com.cn.util; import java.util.UUID; public class UuidUtil { public static String get32UUID() { String uuid = UUID.randomUUID().toString().trim().replaceAll("-", ""); return uuid; } public static void main(String[] args) { System.out.println(get32UUID()); } }