- すべての実装されたインタフェース:
Serializable
UID
とは、生成元のホスト上で常に一意である識別子、または216の「既知の」識別子のことです。
UID()
コンストラクタを使用すると、生成元のホスト上で常に一意である識別子を生成できます。 UID(short)
コンストラクタを使用すると、216の既知の識別子の1つを作成できます。
UID
のインスタンスは、3つのプリミティブ値で構成されます。
unique
。このUID
が生成されたVMを一意に識別するint
。そのホスト上で一意であり、time
値によって表される時間で一意である。unique
値の実装例として、プロセス識別子がある。既知のUID
場合は0time
。このUID
を生成したVMの稼動時間にSystem.currentTimeMillis()
から返されたlong
値。既知のUID
の場合は0count
。同じVM上の同じtime
値に生成されたUID
を識別するためのshort
値
生成されたUID
インスタンスが生成元のホスト上で常に一意であるためには、ホストのリブートに1ミリ秒を超える時間が必要です。また、ホストのシステム・クロックを逆方向に戻さないでください。 大域的に一意の識別子を作成するには、UID
インスタンスを、IPアドレスなどの一意ホスト識別子と組み合わせます。
- 導入されたバージョン:
- 1.1
- 関連項目:
- 直列化された形式
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明boolean
指定されたオブジェクトがこのUID
と同じかどうかを比較します。int
hashCode()
このUID
のハッシュ・コード値を返します。static UID
DataInput
インスタンスのバイナリ表現を非整列化することで、新しいUID
インスタンスを構築して返します。toString()
このUID
の文字列表現を返します。void
write(DataOutput out)
このUID
のバイナリ表現を整列化して、DataOutput
インスタンスに書き込みます。
-
コンストラクタの詳細
-
UID
public UID()生成元のホスト上で常に一意であるUID
を生成します。 -
UID
public UID(short num)「既知の」UID
を作成します。 最大216個の既知のIDを作成できます。このコンストラクタを使用して生成した
UID
は、引数を指定しないで生成したUID
と重複することはありません。- パラメータ:
num
- 既知のUID
の番号
-
-
メソッドの詳細
-
hashCode
public int hashCode()このUID
のハッシュ・コード値を返します。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- この
UID
のハッシュ・コード値 - 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)指定されたオブジェクトがこのUID
と同じかどうかを比較します。 このメソッドは、指定されたオブジェクトがUID
インスタンスであり、かつこのオブジェクトと同じunique
、time
、およびcount
値を持つ場合に限り、true
を返します。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- このUID
と比較するオブジェクト- 戻り値:
- 指定されたオブジェクトがこのオブジェクトと一致する場合は
true
、一致しない場合はfalse
- 関連項目:
Object.hashCode()
、HashMap
-
toString
public String toString()このUID
の文字列表現を返します。 -
write
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
- この操作の実行中に入出力エラーが発生した場合
-
read
public static UID read(DataInput in) throws IOExceptionDataInput
インスタンスのバイナリ表現を非整列化することで、新しいUID
インスタンスを構築して返します。具体的には、このメソッドはまず、指定されたストリームの
DataInput.readInt()
メソッドを呼び出してunique
値を読み込み、次にストリームのDataInput.readLong()
メソッドを呼び出してtime
値を読み込み、さらにストリームのDataInput.readShort()
メソッドを呼び出してcount
値を読み込みます。最後に、ストリームから読み込んだunique
、time
、およびcount
値を使用して作成した新しいUID
のインスタンスを返します。- パラメータ:
in
-UID
の読取り元のDataInput
インスタンス- 戻り値:
- 非整列化された
UID
インスタンス - 例外:
IOException
- この操作の実行中に入出力エラーが発生した場合
-