- すべての実装されたインタフェース:
Serializable
public final class UID extends Object implements 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
equals(Object obj)
指定されたオブジェクトがこのUID
と同じかどうかを比較します。int
hashCode()
このUID
のハッシュ・コード値を返します。static UID
read(DataInput in)
DataInput
インスタンスのバイナリ表現を非整列化することで、新しいUID
インスタンスを構築して返します。String
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
- この操作の実行中に入出力エラーが発生した場合
-