模块  java.rmi
软件包  java.rmi.server

Class ObjID

  • 实现的所有接口
    Serializable

    public final class ObjIDextends Objectimplements Serializable
    ObjID用于标识导出到RMI运行时的远程对象。 导出远程对象时,将根据用于导出的API,为其分配隐式或显式对象标识符。

    ObjID()构造函数可用于生成唯一的对象标识符。 这样的ObjID就其生成的主机而言是唯一的。 ObjID(int)构造函数可用于创建“众所周知的”对象标识符。 众所周知的ObjID的范围取决于它导出的RMI运行时。

    ObjID实例包含对象编号(类型为long )和地址空间标识符(类型为UID )。 在唯一的ObjID ,地址空间标识符随着时间的推移对于给定主机是唯一的。 在众所周知的ObjID ,地址空间标识符等效于通过调用值为零的UID(short)构造函数返回的地址空间标识符。

    如果系统属性java.rmi.server.randomIDs定义为等于字符串"true" (不区分大小写),则ObjID()构造函数将使用加密强随机数生成器来选择返回的ObjID的对象编号。

    从以下版本开始:
    1.1
    另请参见:
    Serialized Form
    • 字段汇总

      字段  
      变量和类型 字段 描述
      static int ACTIVATOR_ID
      激活剂的着名 ObjID的对象编号。
      static int DGC_ID
      分布式垃圾收集器的着名 ObjID的对象编号。
      static int REGISTRY_ID
      注册表的着名 ObjID的对象编号。
    • 构造方法摘要

      构造方法  
      构造器 描述
      ObjID()
      生成唯一的对象标识符。
      ObjID​(int objNum)
      创建“众所周知的”对象标识符。
    • 字段详细信息

      • REGISTRY_ID

        public static final int REGISTRY_ID
        注册表的着名 ObjID的对象编号。
        另请参见:
        常数字段值
      • ACTIVATOR_ID

        public static final int ACTIVATOR_ID
        众所周知的活化剂 ObjID的物号。
        另请参见:
        常数字段值
      • DGC_ID

        public static final int DGC_ID
        分布式垃圾收集器的着名 ObjID的对象编号。
        另请参见:
        常数字段值
    • 构造方法详细信息

      • ObjID

        public ObjID()
        生成唯一的对象标识符。

        如果系统属性java.rmi.server.randomIDs被定义为等于字符串"true" (不区分大小写),则此构造函数将使用加密强随机数生成器来选择返回的ObjID的对象编号。

      • ObjID

        public ObjID​(int objNum)
        创建“众所周知的”对象标识符。

        通过此构造函数创建的ObjID不会与通过no-arg构造函数生成的任何ObjID冲突。

        参数
        objNum - 已知对象标识符的对象编号
    • 方法详细信息

      • write

        public void write​(ObjectOutput out)           throws IOException
        将此ObjID的二进制表示形式ObjIDObjectOutput实例。

        具体来说,此方法首先使用此对象标识符的对象编号调用给定流的DataOutput.writeLong(long)方法,然后通过向流调用其UID.write(DataOutput)方法来写入其地址空间标识符。

        参数
        out -将 ObjectOutput实例写这篇 ObjID
        异常
        IOException - 如果执行此操作时发生I / O错误
      • read

        public static ObjID read​(ObjectInput in)                  throws IOException
        构造并返回一个新ObjID通过从解组二进制表示实例ObjectInput实例。

        具体来说,此方法首先调用给定流的DataInput.readLong()方法来读取对象编号,然后调用UID.read(DataInput)并使用该流读取地址空间标识符,然后创建并返回包含对象编号和地址空间标识符的新ObjID实例从流中读取的。

        参数
        in - 从 ObjectInput实例读取 ObjID
        结果
        unmarshalled ObjID实例
        异常
        IOException - 如果执行此操作时发生I / O错误
      • equals

        public boolean equals​(Object obj)
        将指定对象与此ObjID进行比较以确保相等性。 当且仅当指定的对象是具有与此对象编号和地址空间标识符相同的对象编号和地址空间标识符的ObjID实例时,此方法才返回true
        重写:
        equals在类 Object
        参数
        obj - 将此 ObjID与进行比较的对象
        结果
        true如果给定对象等效于此对象, false
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString()
        返回此对象标识符的字符串表示形式。
        重写:
        toString在类 Object
        结果
        此对象标识符的字符串表示形式