1. 程式人生 > >UUID生成隨機編號(適用於數字字母混編)

UUID生成隨機編號(適用於數字字母混編)

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的程式碼
public class UUIDGenerator { 
    public UUIDGenerator() { 
    } 
    /** 
     * 獲得一個UUID 
     * @return String UUID 
     */ 
    public static String getUUID(){ 
        String s = UUID.randomUUID().toString(); 
        //去掉“-”符號 
        return s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24); 
    } 
    /** 
     * 獲得指定數目的UUID 
     * @param number int 需要獲得的UUID數量 
     * @return String[] UUID陣列 
     */ 
    public static String[] getUUID(int number){ 
        if(number < 1){ 
            return null; 
        } 
        String[] ss = new String[number]; 
        for(int i=0;i<number;i++){ 
            ss[i] = getUUID(); 
        } 
        return ss; 
    } 
    public static void main(String[] args){ 
        String[] ss = getUUID(10); 
        for(int i=0;i<ss.length;i++){ 
            System.out.println(ss[i]); 
        } 
    } 
}

相關推薦

UUID生成隨機編號適用數字字母

UUID(Universally Unique Identifier)全域性唯一識別符號,是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。按照開放軟體基金會(OSF)制定的標準計算,用到了乙太網卡地

ASP 使用 jQuery Ajax File Uploader外掛上傳檔案適用支援H5的瀏覽器

  開篇先吐個槽:自從公司策略調整以後,幾乎沒有什麼3D、AR、VR的專案讓我來做了~於是···為了避免被認為無所事事, 只好硬著頭皮開始做ASP的專案了~~好在大家用的都是C# ┐(´∀`)┌ 迴歸正題,當前接手的ASP專案是執行在微信平臺的一個上傳視訊投票的小專案,裡面

JS將html生成為圖片並下載適用大多數瀏覽器,包含手機瀏覽器等需配合後臺處理(筆記)

(1)html程式碼 <div id="id="content""> //此處放置需要生成圖片的程式碼 <div class="order_payCon"> <div class="submit_pay_success"

JAVA生成隨機IDUUID

生成隨機ID,經常在新增資料到資料庫中使用 public static String getUUID(){ UUID uuid=UUID.randomUUID();

用python進行資料預處理,過濾特殊符號,英文和數字適用中文分詞

要進行中文分詞,必須要求資料格式全部都是中文,需求過濾掉特殊符號、標點、英文、數字等。當然了使用者可以根據自己的要求過濾自定義字元。 實驗環境:python、mysql 實驗目的:從資料庫讀取資料,

PHP生成隨機字串字母+數字

當我們要生成一個隨機字串時,總是先建立一個字元池,然後用一個迴圈和mt_rand()或rand()生成php隨機數,從字元池中隨機選取字元,最後拼湊出需要的長度 function randomkeys($length)    {       $pattern = '1234567890abcdefg

js生成隨機字串數字字母,特殊字元

方法 /* ** randomWord 產生任意長度隨機字母數字組合 ** randomFlag 是否任意長度 min 任意長度最小位[固定位數] max 任意長度最大位 ** yuejingge 2

thinkcmf 導航高亮制作方法適用多級導航通用

思路 ont lower reac 當前 parent serial com art 平時用thinkcmf網站開發經常需要導航點擊之後高亮,就寫了一些實現方法分享一下。 思路很簡單,先獲取當前頁面的頂級欄目的地址,然後與導航中的地址比較,相同的就加上一個class,把下面

redis樂觀鎖適用秒殺系統

修改 導致 代碼 -a 通知 解決 redis服務器 font 變化 redis事務中的WATCH命令和基於CAS的樂觀鎖 在Redis的事務中,WATCH命令可用於提供CAS(check-and-set)功能。假設我們通過WATCH命令在事務執行之前監控了多個Keys,

一個成功的 Git 分支模型適用商業應用開發

還原 如果 功能 角度 想要 允許 chang lai ive 在這篇文章中,我將推廣一下大約一年前我介紹過的一些項目(公私皆有)中使用的開發模型,它們的結果都非常成功。有段時間我非常想寫出來分享一下,但是我至今才抽出時間來。我不會言及任何項目細節,僅討論分支策略和發布管

ajax非同步請求關鍵字提示適用註冊使用者時顯示已註冊使用者,避免重複

1.前端程式碼 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>staff_insert.html</title&

android-----模擬器載入自己編譯的核心適用驅動練習

1. 下載android 模擬器所用的核心原始碼, 代號為goldfish   2. 下載arm-linux交叉工具鏈 3. 編譯核心檔案 4. 讓android模擬器執行在剛編譯的核心上 5. 編譯自己的hello核心模組 6 將hello.ko載入到核心中 1

Linux下生成隨機密碼

1、使用SHA演算法來加密日期,並輸出結果的前32個字元: date +%s |sha256sum |base64 |head -c 32 ;echo 生成結果如下: ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4 2、使用內嵌的/dev/urandom,並過濾掉那些日常

socket心跳超時檢測,快速處理新思路適用超大量TCP連線情況下

假設一種情景:TCP伺服器有1萬個客戶端連線,如果客戶端5秒鐘不發資料,則要斷開。服務端如何檢測客戶端是否超時?這看起來是一個非常簡單的問題,其實不然! 最簡單的處理方法是:啟動一個執行緒,每隔一段時間,檢查每個連線是否超時。每次處理需要1萬次檢查。計算量太大!檢查的時間間隔不能太小,否則大大增

安卓圓角、背景遮罩。覆蓋實現方式適用所有控制元件

1.工具類直接用(已經改好) package com.etwod.yulin.t4.unit; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap;

新版java學習路線適用初學者

目前,Java語言開發的就業前景相當明朗“錢”途一片大好,畢竟網際網路企業對Java開發人才需求很旺盛。Java開發人才的薪資要比其他程式設計人才高出一大截,所以有很多朋友就都想來從事Java開發。那麼學習Java需要什麼基礎? 其實有一定的程式語言基礎,當然會讓你學習Ja

OAI學習資料適用展示

1、What is OAI? 簡單來說,RF板(SDR)+ OAI協議棧 = 4G LTE 開源模擬平臺。 2、有用的連結: 主頁官網 原始碼地址(OpenAirInterface gitlab server (includes Wiki)): 郵件列

命令列下進入當前目錄的技巧適用中文Win2000/XP

        使用Windows 系統自帶的“命令提示符”有兩個不便,一是每次進入的都是同一個目錄,還需要用CD 命令進行切換,如果遇到很長的目錄名,輸入起來非常麻 煩。另外,如果目錄名包含中文,輸入起來就是一件比較痛苦的事情了。 如果能在執行“命令提示符”的同時進入指定

TP---讓欄位資料自增適用在原來的基礎上新增數量

廢話不過說直接上程式碼: //setInc第一個引數為欄位名,第二個引數為自增數量 $table=new Table(); $table->where('id',1)->setInc('money',100); 這句話的意思是查詢id為1的資訊,把欄位money自增

Java獲取訪問使用者的客戶端IP地址適用公網與區域網

  /** * 獲取Ip地址,多級反向代理 * @param request * @return */ public static String getIpaddr(HttpServletRequest request){ String ipAddress = request.ge