CodeGym /Java Blog /ランダム /Java の UUID ガイド
John Squirrels
レベル 41
San Francisco

Java の UUID ガイド

ランダム グループに公開済み
UUID は Universally Unique Identifier の略で、コンピュータ システム内の情報を識別するために使用される 128 ビット長の値です。UUID ジェネレーターによって生成される UUID は、すべてのシステムおよびすべての時間にわたって一意になるように設計されています。UUID の長さはハイフンを含めて 36 文字で、通常は 16 進数で表されます。

JavaのUUIDとは何ですか?

Java の UUID クラスはjava.utilパッケージの一部であり、UUID を生成および操作するためのメソッドを提供します。これは、一意の識別子を生成するために Java で一般的に使用されるクラスです。Java の UUID クラスを利用すると、ランダムな UUID を簡単に生成したり、バイト配列、文字列、long 値などのさまざまなソースから UUID を作成したりできます。ジェネレーターが呼び出されるたびに、生成されたさまざまな UUID を取得できます。これらの生成された UUID は一意であり、グローバルに一意になるように設計されています。つまり、異なるシステムによって同じ UUID が 2 回生成されることはありません。生成された UUID は、セッション ID、データベース キー、一意性が重要なその他のシナリオなど、さまざまな目的に使用できます。

Java での UUID の生成

Java で UUID を生成するには、 java.util.UUIDクラスを使用します。java.util.UUIDクラス、UUID を生成するための 2 つのメソッド、randomUUID()nameUUIDFromBytes(byte[] name)を提供します。randomUUID ()メソッドはランダムな UUID を生成します。このメソッドには引数は必要なく、呼び出されるたびにランダムな UUID が生成されます。以下は、 randomUUID()メソッドの使用方法の例です。
import java.util.UUID;

public class UUIDExample {
    public static void main(String[] args) {
        // generating a random UUID
        UUID uuid = UUID.randomUUID();

        // print the UUID
        System.out.println("Generated UUID: " + uuid);
    }
}

出力

生成された UUID: d3ee2929-212b-4077-af84-694a0e69b8e1
nameUUIDFromBytes (byte[] name)メソッドは、バイト配列から UUID を生成します。このメソッドはバイト配列を引数として受け取り、バイト配列の内容に基づいて UUID を生成します。nameUUIDFromBytes(byte[] name)メソッドの使用例を次に示します。
import java.util.UUID;

public class UUIDExample {
    public static void main(String[] args) {
        // generating a UUID from a byte array
        byte[] name = { 1, 2, 3, 4, 5 };
        UUID uuid = UUID.nameUUIDFromBytes(name);

        // print the UUID
        System.out.println("Generated UUID: " + uuid);
    }
}

出力

生成された UUID: 4d6579d4-c3e7-38a1-9246-017e903b2c33

UUID プロパティ

UUID には次のプロパティがあります。
  • 長さ: UUID の長さは 128 ビットです。これは、UUID に 16 バイトのデータが含まれていることを意味します。この長さにより、効率的に保管できるため、コンピュータシステムでの使用に適しています。
  • 一意性: 2 つの UUID が同じである確率は非常に低いです。衝突の確率は約 2^128 分の 1 であり、非常に低い数字です。
  • ランダム性: UUID は、ランダム性を保証するアルゴリズムを使用して生成されます。このランダム性により、生成される UUID を誰でも予測することが困難になります。
  • バージョン: UUID はバージョンに分割されており、各バージョンは異なるアルゴリズムを使用して UUID を生成します。最も一般的に使用されるバージョンは、バージョン 1 とバージョン 4 です。バージョン 1 の UUID は、現在の時刻と、UUID を生成しているコンピューターの MAC アドレスを使用して生成されます。バージョン 4 の UUID は、乱数を使用して生成されます。

UUIDの長さ

UUID は 128 ビットの値で、36 文字の文字列で表されます。この文字列には、8、4、4、4、12 桁のグループにハイフンで区切られた 32 個の 16 進数が含まれています。UUID 文字列の例を次に示します。
123e4567-e89b-12d3-a456-426655440000
UUID の例:以下は、 randomUUID()メソッドを使用して生成された UUID の例です。
d3ee2929-212b-4077-af84-694a0e69b8e1
この UUID は、ハイフンで区切られた 8、4、4、4、12 桁のグループに分割された 32 桁の 16 進数で構成されます。Java の UUID クラスについて説明する上記の UUID の例では、UUID の生成という用語は、 java.util.UUIDクラスを使用して新しい UUID を作成するプロセスを指します。このプロセスには、 randomUUID()nameUUIDFromBytes(byte[])などの UUID クラスの静的ファクトリ メソッドの 1 つの呼び出しが含まれます。これらのメソッドのいずれかを呼び出すと、Java のUUIDクラスが新しい UUID を作成し、それを返します。これらの生成された UUID は、必要に応じてアプリケーションで使用できます。

結論

この記事では、UUID とは何か、および Java のjava.util.UUIDクラスを使用して UUID を生成する方法について説明しました。また、UUID の長さ、一意性、ランダム性、バージョンなどのプロパティも調べました。UUID は、独自の方法で情報を識別するためにコンピュータ システムで広く使用されています。これらは、複数のコンピュータまたはノードがデータにアクセスして操作する必要がある分散システムやデータベースで役立ちます。Java のjava.util.UUIDクラスを使用すると、Java プロジェクトで UUID を簡単に生成できます。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION