public final class ObjID extends Object implements Serializable
ObjID
は、RMI ランタイムにエクスポートされたリモートオブジェクトを識別するために使用します。エクスポートしたリモートオブジェクトには、エクスポートに使用した API に応じて暗黙的または明示的にオブジェクト識別子が割り当てられます。
ObjID()
コンストラクタを使用すると、一意のオブジェクト識別子を生成できます。そのような ObjID
は、それが生成されたホスト上で常に一意になります。
ObjID(int)
コンストラクタを使用すると、「既知の」オブジェクト識別子を生成できます。既知の ObjID
のスコープは、エクスポート先の RMI ランタイムによって異なります。
ObjID
のインスタンスには、オブジェクト番号 (long
型) とアドレス空間識別子 (UID
型) が含まれます。一意の ObjID
では、アドレス空間識別子は特定のホスト上で常に一意です。既知の ObjID
では、アドレス空間識別子は UID.UID(short)
コンストラクタを値ゼロで呼び出したときに返される識別子と同等です。
システムプロパティー java.rmi.server.randomIDs
が文字列 "true"
(大文字小文字の区別なし) と定義されている場合、ObjID()
コンストラクタは強力な暗号乱数ジェネレータを使用して、返される ObjID
のオブジェクト番号を選択します。
修飾子と型 | フィールドと説明 |
---|---|
static int |
ACTIVATOR_ID
アクティベータの既知の
ObjID に使用するオブジェクト番号です。 |
static int |
DGC_ID
分散ガベージコレクタの既知の
ObjID に使用するオブジェクト番号です。 |
static int |
REGISTRY_ID
レジストリの既知の
ObjID に使用するオブジェクト番号です。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean |
equals(Object obj)
指定されたオブジェクトがこの
ObjID と同じかどうかを比較します。 |
int |
hashCode()
このオブジェクト識別子のハッシュコード値をオブジェクト番号として返します。
|
static ObjID |
read(ObjectInput in)
ObjectInput インスタンスのバイナリ表現を非整列化することで、新しい ObjID インスタンスを構築して返します。 |
String |
toString()
このオブジェクト識別子の文字列表現を返します。
|
void |
write(ObjectOutput out)
この
ObjID のバイナリ表現を整列化して、ObjectOutput インスタンスに書き込みます。 |
public static final int REGISTRY_ID
ObjID
に使用するオブジェクト番号です。public static final int ACTIVATOR_ID
ObjID
に使用するオブジェクト番号です。public static final int DGC_ID
ObjID
に使用するオブジェクト番号です。public ObjID()
システムプロパティー java.rmi.server.randomIDs
が文字列 "true"
(大文字と小文字は区別されない) と定義されている場合、このコンストラクタは強力な暗号乱数ジェネレータを使用して、返される ObjID
のオブジェクト番号を選択します。
public ObjID(int objNum)
このコンストラクタを使用して生成した ObjID
は、引数を指定しないで生成した ObjID
と重複することはありません。
objNum
- 既知のオブジェクト識別子に使用するオブジェクト番号public void write(ObjectOutput out) throws IOException
ObjID
のバイナリ表現を整列化して、ObjectOutput
インスタンスに書き込みます。
具体的には、このメソッドはまず、このオブジェクト識別子のオブジェクト番号を使用して、指定されたストリームの DataOutput.writeLong(long)
メソッドを呼び出します。次に、そのストリームを使用して UID.write(DataOutput)
メソッドを呼び出し、アドレス空間識別子を書き込みます。
out
- この ObjID
の書き込み先の ObjectOutput
インスタンスIOException
- この操作の実行中に入出力エラーが発生した場合public static ObjID read(ObjectInput in) throws IOException
ObjectInput
インスタンスのバイナリ表現を非整列化することで、新しい ObjID
インスタンスを構築して返します。
具体的には、このメソッドはまず、指定されたストリームの DataInput.readLong()
メソッドを呼び出して、オブジェクト番号を読み込みます。次に、そのストリームを使用して UID.read(DataInput)
を呼び出し、アドレス空間識別子を読み込みます。さらに、ストリームから読み込んだオブジェクト番号とアドレス空間識別子を含む新しい ObjID
インスタンスを作成し、そのインスタンスを返します。
in
- ObjID
の読み取り元の ObjectInput
インスタンスObjID
インスタンスIOException
- この操作の実行中に入出力エラーが発生した場合public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
ObjID
と同じかどうかを比較します。
このメソッドが true
を返すのは、指定されたオブジェクトが ObjID
インスタンスであり、かつこのオブジェクトと同じオブジェクト番号とアドレス空間識別子を持つ場合だけです。equals
、クラス: Object
obj
- この ObjID
と比較するオブジェクトtrue
、一致しない場合は false
Object.hashCode()
、HashMap
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.