public final class UID extends Object implements Serializable
UIDとは、生成元のホスト上で常に一意である識別子、または216の「既知の」識別子のことです。
UID()コンストラクタを使用すると、生成元のホスト上で常に一意である識別子を生成できます。 UID(short)コンストラクタを使用すると、216の既知の識別子の1つを作成できます。
UIDのインスタンスは、3つのプリミティブ値で構成されます。
unique。このUIDが生成されたVMを一意に識別するint。そのホスト上で一意であり、time値によって表される時間で一意である。unique値の実装例として、プロセス識別子がある。既知のUID場合は0
time。このUIDを生成したVMの稼動時間にSystem.currentTimeMillis()から返されたlong値。既知のUIDの場合は0
count。同じVM上の同じtime値に生成されたUIDを識別するためのshort値
生成されたUIDインスタンスが生成元のホスト上で常に一意であるためには、ホストのリブートに1ミリ秒を超える時間が必要です。また、ホストのシステム・クロックを逆方向に戻さないでください。 大域的に一意の識別子を作成するには、UIDインスタンスを、IPアドレスなどの一意ホスト識別子と組み合わせます。
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
boolean |
equals(Object obj) |
指定されたオブジェクトがこの
UIDと同じかどうかを比較します。 |
int |
hashCode() |
この
UIDのハッシュ・コード値を返します。 |
static UID |
read(DataInput in) |
DataInputインスタンスのバイナリ表現を非整列化することで、新しいUIDインスタンスを構築して返します。 |
String |
toString() |
この
UIDの文字列表現を返します。 |
void |
write(DataOutput out) |
この
UIDのバイナリ表現を整列化して、DataOutputインスタンスに書き込みます。 |
public UID()
UIDを生成します。public UID(short num)
UIDを作成します。 最大216個の既知のIDを作成できます。
このコンストラクタを使用して生成したUIDは、引数を指定しないで生成したUIDと重複することはありません。
num - 既知のUIDの番号public int hashCode()
UIDのハッシュ・コード値を返します。hashCode、クラスObjectUIDのハッシュ・コード値Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
UIDと同じかどうかを比較します。 このメソッドは、指定されたオブジェクトがUIDインスタンスであり、かつこのオブジェクトと同じunique、time、およびcount値を持つ場合に限り、trueを返します。 equals、クラスObjectobj - このUIDと比較するオブジェクトtrue、一致しない場合はfalseObject.hashCode()、HashMappublic void write(DataOutput out) throws IOException
UIDのバイナリ表現を整列化して、DataOutputインスタンスに書き込みます。
具体的には、このメソッドはまず、このUIDのunique値を使用して指定されたストリームのDataOutput.writeInt(int)メソッドを呼び出し、次にこのUIDのtime値を使用してストリームのDataOutput.writeLong(long)メソッドを呼び出し、さらにこのUIDのcount値を使用してストリームのDataOutput.writeShort(int)メソッドを呼び出します。
out - このUIDの書込み先のDataOutputインスタンスIOException - この操作の実行中に入出力エラーが発生した場合public static UID read(DataInput in) throws IOException
DataInputインスタンスのバイナリ表現を非整列化することで、新しいUIDインスタンスを構築して返します。
具体的には、このメソッドはまず、指定されたストリームのDataInput.readInt()メソッドを呼び出してunique値を読み込み、次にストリームのDataInput.readLong()メソッドを呼び出してtime値を読み込み、さらにストリームのDataInput.readShort()メソッドを呼び出してcount値を読み込みます。最後に、ストリームから読み込んだunique、time、およびcount値を使用して作成した新しいUIDのインスタンスを返します。
in - UIDの読取り元のDataInputインスタンスUIDインスタンスIOException - この操作の実行中に入出力エラーが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。