モジュール java.rmi
パッケージ java.rmi.server

クラスUID

java.lang.Object
java.rmi.server.UID
すべての実装されたインタフェース:
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場合は0
  • time。このUIDを生成したVMの稼動時間にSystem.currentTimeMillis()から返されたlong値。既知のUIDの場合は0
  • count。同じVM上の同じtime値に生成されたUIDを識別するためのshort

生成されたUIDインスタンスが生成元のホスト上で常に一意であるためには、ホストのリブートに1ミリ秒を超える時間が必要です。また、ホストのシステム・クロックを逆方向に戻さないでください。 大域的に一意の識別子を作成するには、UIDインスタンスを、IPアドレスなどの一意ホスト識別子と組み合わせます。

導入されたバージョン:
1.1
関連項目:
直列化された形式
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    UID()
    生成元のホスト上で常に一意であるUIDを生成します。
    UID​(short num)
    「既知の」UIDを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    equals​(Object obj)
    指定されたオブジェクトがこのUIDと同じかどうかを比較します。
    int
    このUIDのハッシュ・コード値を返します。
    static UID
    read​(DataInput in)
    DataInputインスタンスのバイナリ表現を非整列化することで、新しいUIDインスタンスを構築して返します。
    このUIDの文字列表現を返します。
    void
    write​(DataOutput out)
    このUIDのバイナリ表現を整列化して、DataOutputインスタンスに書き込みます。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • 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インスタンスであり、かつこのオブジェクトと同じuniquetime、およびcount値を持つ場合に限り、trueを返します。
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      obj - このUIDと比較するオブジェクト
      戻り値:
      指定されたオブジェクトがこのオブジェクトと一致する場合はtrue、一致しない場合はfalse
      関連項目:
      Object.hashCode()HashMap
    • toString

      public String toString()
      このUIDの文字列表現を返します。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このUIDの文字列表現
    • write

      public void write(DataOutput out) throws IOException
      このUIDのバイナリ表現を整列化して、DataOutputインスタンスに書き込みます。

      具体的には、このメソッドはまず、このUIDunique値を使用して指定されたストリームのDataOutput.writeInt(int)メソッドを呼び出し、次にこのUIDtime値を使用してストリームのDataOutput.writeLong(long)メソッドを呼び出し、さらにこのUIDcount値を使用してストリームの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値を読み込みます。最後に、ストリームから読み込んだuniquetime、およびcount値を使用して作成した新しいUIDのインスタンスを返します。

      パラメータ:
      in - UIDの読取り元のDataInputインスタンス
      戻り値:
      非整列化されたUIDインスタンス
      例外:
      IOException - この操作の実行中に入出力エラーが発生した場合