import java.util.UUID;
在java中的UUID包下的
UUID的全稱為:Universally Unique IDentifier,也被稱為GUID(Globally Unique IDentifier)。是一種由算法生成的唯一標識,它實質上是一個128位長的二進制整數。通常表示成32個16進制數組成的字符串,如:21EC2020-3AEA-1069-A2DD-08002B30309D。
Java的UUID是V3 V4
3. 基於名稱空間的UUID(MD5)
基於名稱的UUID通過計算名稱和名稱空間的MD5散列值得到,這個版本的UUID保證了:相同名稱空間中不同名稱生成的UUID的唯一性;不同名稱空間中的UUID的唯一性;相同名稱空間中相同名稱的UUID重復生成是相同的。
4. 基於隨機數的UUID
根據隨機數,或者偽隨機數生成UUID。這種UUID產生重復的概率是可以計算出來的,但隨機的東西就像是買彩票:你指望它發財是不可能的,但狗屎運通常會在不經意中到來。可能在測試的時候多線程並發也不見得出現重復,但是卻不能保證系統正式上線之后不會出現不重復的UUID,特別是在分布式系統中。
public static String getID() { return UUID.randomUUID().toString().replaceAll("-",""); }
這里取得一個隨機數
因為UUID的格式是 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
所以我們把-去掉 變成空 這樣出來的ID就不會有符號了
我們用junit來測試一下