UUID基礎介紹
1.什么是UUID?
UUID是通用唯一標識符(Universally Unique Identifier)。由128bit組成,如果用16進制表示,那么就是32個字符。表示形式如下:03e1c09e-4967-469c- 85f5-764c5b286d47(8-4-4-4-12)。
2.UUID的作用?
讓分布式系統中的所有元素都能有唯一的辨識資訊,而不需要通過中央控制端來作辨別資訊的指定。
3.UUID由哪些元素組成才能讓其成為唯一?
UUID指在一臺機器上生成的數字,他保證對在同一時空內的所有機器都是唯一的。說得明白一點就是它能保證無論在某時某地某臺機器上它都能生成一個唯一字符串。
組成部分:
1)當前日期及時間
2)時鐘序列
3)全局唯一的IEEE機器識別號。
4.怎么在java里創建UUID?
在java里創建一個UUID非常簡單,直接用java.util.UUID這個類提供的靜態方法(一共有3個)即可創建出UUID.
方法1:UUID.randomUUID(); 使用隨機生成方式產生一個隨機的UUID,調用version(),返回4;
方法2:UUID.fromString("03e1c09e-4967-469c-85f5-764c5b286d47");使用隨機生成方式產生一個指定的UUID,調用version(),返回4;
方法3:UUID.nameUUIDFromBytes("03e1c09e-4967-469c-85f5-764c5b286d47".getBytes()); 使用根據名稱方法產生一個UUID,調用version(),返回3;
補充一點:生成UUID有4種生成方式:
version value:1表示根據時間生成
version value:2表示DCE security UUID
version value:3表示根據名稱生成
version value:4表示隨機生成
這4種生成方法用1,2,3,4去表示,可以使用version()去獲取這個值。例如使用UUID.randomUUID()生成一個UUID,那么調用version()方法就會得到數字4,表示該UUID是用隨機方式生成的。