モジュール java.rmi
パッケージ 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を作成します。
    • コンストラクタの詳細

      • UID

        public UID()
        生成元のホスト上で常に一意であるUIDを生成します。
      • UID

        public UID​(short num)
        「既知の」UIDを作成します。 最大216個の既知のIDを作成できます。

        このコンストラクタを使用して生成したUIDは、引数を指定しないで生成したUIDと重複することはありません。

        パラメータ:
        num - 既知のUIDの番号
    • メソッドの詳細

      • 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 - この操作の実行中に入出力エラーが発生した場合