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
、クラス: Object
UID
のハッシュ・コード値Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
UID
と同じかどうかを比較します。このメソッドは、指定されたオブジェクトがUID
インスタンスであり、かつこのオブジェクトと同じunique
、time
、およびcount
値を持つ場合に限り、true
を返します。equals
、クラス: Object
obj
- このUID
と比較するオブジェクトtrue
、一致しない場合はfalse
Object.hashCode()
、HashMap
public 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, 2014, Oracle and/or its affiliates. All rights reserved.