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
。
Modifier and Type | Field and Description |
---|---|
static int |
ACTIVATOR_ID
对象编号为知名的
ObjID 的激活剂。
|
static int |
DGC_ID
对象编号为知名的
ObjID 的分布式垃圾收集器。
|
static int |
REGISTRY_ID
对象编号为着名的
ObjID 注册表。
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
将指定的对象与此
ObjID 进行比较以获得相等性。
|
int |
hashCode()
返回此对象标识符(对象编号)的哈希码值。
|
static ObjID |
read(ObjectInput in)
构造并返回一个新的
ObjID 实例,通过从
ObjectInput 实例解组二进制表示。
|
String |
toString()
返回此对象标识符的字符串表示形式。
|
void |
write(ObjectOutput out)
将此
ObjID 的二进制表示法
ObjID 交给
ObjectOutput 实例。
|
public static final int REGISTRY_ID
ObjID
注册表。
public static final int ACTIVATOR_ID
ObjID
剂ObjID。
public static final int DGC_ID
ObjID
的对象编号。
public ObjID()
如果将系统属性java.rmi.server.randomIDs
定义为等于字符串"true"
(不区分大小写),则此构造函数将使用密码强的随机数生成器来选择返回的对象编号ObjID
。
public ObjID(int objNum)
通过此构造ObjID
创建的ObjID不会与通过无参构造函数生成的任何ObjID
冲突。
objNum
- 用于公知对象标识符的对象号
public void write(ObjectOutput out) throws IOException
ObjID
的二进制表示法ObjID
交给ObjectOutput
实例。
具体来说,该方法首先使用该对象标识符的对象号调用给定流的DataOutput.writeLong(long)
方法,然后通过使用流来调用其UID.write(DataOutput)
方法来写入其地址空间标识符。
out
-
ObjectOutput
实例写这个
ObjID
到
IOException
- 执行此操作时是否发生I / O错误
public static ObjID read(ObjectInput in) throws IOException
ObjID
实例,通过从ObjectInput
实例解组二进制表示。
具体地,此方法首先调用给定流的DataInput.readLong()
方法读一个对象号码,然后它调用UID.read(DataInput)
与该流读取地址空间标识符,然后将其创建并返回一个新的ObjID
包含该对象号和地址空间标识符实例从流中读取。
in
-
ObjID
从
ObjectInput
实例
ObjID
实例
IOException
- 执行此操作时是否发生I / O错误
public int hashCode()
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
ObjID
进行比较以获得相等性。
当且仅当指定的对象是具有与此相同的对象号和地址空间标识符的ObjID
实例时,此方法返回true
。
equals
在类别
Object
obj
- 对比这个
ObjID
的对象
true
如果给定对象相当于这一个,和
false
否则
Object.hashCode()
, HashMap