UUID.randomUUID()簡單介紹

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 等等。java

UUID.randomUUID().toString()是javaJDK提供的一個自動生成主鍵的方法。UUID(Universally Unique Identifier)全局惟一標識符,是指在一臺機器上生成的數字,它保證對在同一時空中的全部機器都是惟一的,是由一個十六位的數字組成,表現出來的形式。由如下幾部分的組合:當前日期和時間(UUID的第一個部分與時間有關,若是你在生成一個UUID以後,過幾秒又生成一個UUID,則第一個部分不一樣,其他相同),時鐘序列,全局惟一的IEEE機器識別號(若是有網卡,從網卡得到,沒有網卡以其餘方式得到),UUID的惟一缺陷在於生成的結果串會比較長。數據庫

 1 import java.util.UUID;
 2  
 3 /**
 4  * 
 5  * @author humf
 6  */
 7 public class UploadUtils {
 8     
 9     /**
10      * 傳入文件的名稱,返回的惟一的名稱
11      * 例如:gril.jpg    返回sdjsljfsjdl.jpg
12      * @param filename
13      * @return
14      */
15     public static String getUUIDName(String filename){
16         // 先查找
17         int index = filename.lastIndexOf(".");
18         // 截取
19         String lastname = filename.substring(index, filename.length());
20         // 惟一 字符串  fsd-sfsdf-sfsd-sdfsd
21         String uuid = UUID.randomUUID().toString().replace("-", "");
22         return uuid+lastname;
23     }
24     
25     public static void main(String[] args) {
26         String filename = "girl.jpg";
27         String uuid = getUUIDName(filename);
28         System.out.println(uuid);
29     }
30 }
相關文章
相關標籤/搜索