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 String toString()
UID
の文字列表現を返します。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, 2013, Oracle and/or its affiliates. All rights reserved.