クラスUID
- すべての実装されたインタフェース:
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と同じかどうかを比較します。inthashCode()このUIDのハッシュ・コード値を返します。static UIDDataInputインスタンスのバイナリ表現を非整列化することで、新しいUIDインスタンスを構築して返します。toString()このUIDの文字列表現を返します。voidwrite(DataOutput out) このUIDのバイナリ表現を整列化して、DataOutputインスタンスに書き込みます。
-
コンストラクタの詳細
-
UID
public UID()生成元のホスト上で常に一意であるUIDを生成します。 -
UID
public UID(short num) 「既知の」UIDを作成します。 最大216個の既知のIDを作成できます。このコンストラクタを使用して生成した
UIDは、引数を指定しないで生成したUIDと重複することはありません。- パラメータ:
num- 既知のUIDの番号
-
-
メソッドの詳細
-
hashCode
-
equals
-
toString
-
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 IOException DataInputインスタンスのバイナリ表現を非整列化することで、新しいUIDインスタンスを構築して返します。具体的には、このメソッドはまず、指定されたストリームの
DataInput.readInt()メソッドを呼び出してunique値を読み込み、次にストリームのDataInput.readLong()メソッドを呼び出してtime値を読み込み、さらにストリームのDataInput.readShort()メソッドを呼び出してcount値を読み込みます。最後に、ストリームから読み込んだunique、time、およびcount値を使用して作成した新しいUIDのインスタンスを返します。- パラメータ:
in-UIDの読取り元のDataInputインスタンス- 戻り値:
- 非整列化された
UIDインスタンス - スロー:
IOException- この操作の実行中に入出力エラーが発生した場合
-