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, 2014, Oracle and/or its affiliates. All rights reserved.