java.lang.Object java.rmi.server.ObjID
public final class ObjID
ObjID
是用于标识导出到 RMI 运行时的远程对象。导出远程对象时,将根据用于导出的 API,或隐式或显示地向该对象分配一个对象标识符。
ObjID()
构造方法可用于生成唯一的对象标识符。这样一个 ObjID
对于生成它的主机时间来说是唯一的。ObjID(int)
构造方法可用于创建“已知的”对象标识符。已知 ObjID
的范围取决于将它导出到其中的 RMI 运行时。
ObjID
实例包含一个对象数(属于类型 long
)和一个地址空间标识符(属于类型 UID
)。在唯一的 ObjID
中,地址空间标识符对于给定主机来说是不随时间变化的。在已知的 ObjID
中,地址空间标识符等效于通过调用具有值 0 的 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 的对象数。 |
构造方法摘要 | |
---|---|
ObjID() 生成唯一的对象标识符。 |
|
ObjID(int objNum) 创建“已知的”对象标识符。 |
方法摘要 | |
---|---|
boolean |
equals(Object obj) 比较指定对象与此 ObjID 是否相等。 |
int |
hashCode() 返回此对象标识符、对象数的哈希码值。 |
static ObjID |
read(ObjectInput in) 通过从 ObjectInput 实例解组二进制表示形式来构造和返回一个新的 ObjID 实例。 |
String |
toString() 返回此对象标识符的字符串表示形式。 |
void |
write(ObjectOutput out) 将此 ObjID 的二进制表示形式编组为一个 ObjectOutput 实例。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
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
- 如果在执行此操作时发生 I/O 错误
public static ObjID read(ObjectInput in) throws IOException
ObjectInput
实例解组二进制表示形式来构造和返回一个新的
ObjID
实例。
特别是,此方法首先调用给定流的 DataInput.readLong()
方法来读取一个对象数,然后根据此流调用 UID.read(DataInput)
来读取地址空间标识符,接着创建并返回一个新的 ObjID
实例,该实例包含从该流读取的对象数和地址空间标识符。
in
- 要从中读取
ObjID
的
ObjectInput
实例
ObjID
实例
IOException
- 如果在执行此操作时发生 I/O 错误
public int hashCode()
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
ObjID
是否相等。 当且仅当该指定对象是一个与该对象具有相同对象数和地址空间标识符的
ObjID
时,此方法返回
true
。
obj
- 要与此
ObjID
比较的对象
true
;否则返回
false
Object.hashCode()
,
Hashtable
public String toString()