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、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean equals(Object obj)
ObjIDと同じかどうかを比較します。 このメソッドがtrueを返すのは、指定されたオブジェクトがObjIDインスタンスであり、かつこのオブジェクトと同じオブジェクト番号とアドレス空間識別子を持つ場合だけです。 equals、クラスObjectobj - このObjIDと比較するオブジェクトtrue、一致しない場合はfalseObject.hashCode()、HashMap バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。