Module  java.rmi
软件包  java.rmi.server

Class ObjID

  • All Implemented Interfaces:
    Serializable


    public final class ObjID
    extends Object
    implements 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
    • Field Summary

      Fields  
      Modifier and Type Field 描述
      static int ACTIVATOR_ID
      对象编号为知名的 ObjID的激活剂。
      static int DGC_ID
      对象编号为知名的 ObjID的分布式垃圾收集器。
      static int REGISTRY_ID
      对象编号为着名的 ObjID注册表。
    • 构造方法摘要

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

      • REGISTRY_ID

        public static final int REGISTRY_ID
        对象编号为着名的 ObjID的注册表。
        另请参见:
        Constant Field Values
      • ACTIVATOR_ID

        public static final int ACTIVATOR_ID
        对象编号为知名的 ObjID的激活剂。
        另请参见:
        Constant Field Values
      • DGC_ID

        public static final int DGC_ID
        对象编号为知名的 ObjID的分布式垃圾收集器。
        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • 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的二进制表示法ObjID交给ObjectOutput实例。

        具体来说,该方法首先使用该对象标识符的对象号调用给定流的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
        结果
        未编组 ObjID实例
        异常
        IOException - 执行此操作时是否发生I / O错误
      • equals

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

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