在 Java 中建立 GUID

Rashmi Patidar 2023年1月30日 2021年4月29日
  1. 什麼是 GUID
  2. 使用 randomUUID() 方法生成 UUID 的示例程式碼
  3. 使用 UUID 建構函式fromString() 方法生成 UUID 的示例程式碼:
在 Java 中建立 GUID

什麼是 GUID

GUID 是 Globally Unique Identifier 的縮寫。通常也將其稱為通用唯一識別符號UUID。這兩個詞之間沒有真正的區別。從技術上講,它們是 128 位不變的,唯一的,加密強度高的隨機數。這些隨機數最終被用於計算目的。生成此類數字的演算法非常複雜,以至於每秒可能生成 1,0000,000,000 個隨機數。這些數字不太可能重複。

我們在軟體開發實踐和方法中使用 GUID 或 UUID,在這種情況下,我們希望使用唯一的 ID 作為主鍵(例如資料庫鍵,元件識別符號和各種事務)進行大型事務。

使用 randomUUID() 方法生成 UUID 的示例程式碼

package guid;

import java.util.UUID;

public class CreateGuid {
    public static void main(String[] args) {
        UUID uuid = UUID.randomUUID();
        System.out.println("UUID = " + uuid.toString());
    }
}

在 Java 語言中,UUID 類在 1.5 版以後可用。該類位於 java.util.UUID 包中。randomUUID() 方法是一種靜態工廠方法,用於檢索型別 4(偽隨機生成的)UUID。由於該方法是 UUID 類的靜態工廠方法,因此需要類名才能呼叫該方法。

上述程式的輸出似乎是唯一生成的 UUID。

UUID = 70aba303-60d8-4cb5-b3e7-4170c4be5642

使用 UUID 建構函式fromString() 方法生成 UUID 的示例程式碼:

在下面的程式中,UUID 類建構函式用於生成 UUID。建構函式有兩個引數:mostSignificantBitsleastSignificantBits

mostSignificantBits 用於 UUID 的最高有效 64 位,而 leastSignificantBits 用於最低 UUID 64 位。

fromString() 方法是一種靜態工廠方法,可從字串標準表示形式建立 UUID。上面的方法以字串為引數。因此,在 uuid 物件上,行內函數中呼叫了 toString() 方法。

如果名稱不符合 toString 方法中描述的字串表示形式,則 fromString 方法將引發 IllegalArgumentException

package guid;

import java.util.UUID;

public class GenerateGuidUsingConstructor {
    public static void main(String[] args) {
        UUID uuid = new UUID(24, 02);
        System.out.println(UUID.fromString(uuid.toString()));
    }
}

以下是從建構函式生成的 UUID 的輸出。

00000000-0000-0018-0000-000000000002
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn