public class java.rmi.server.UnicastRemoteObject extends java.rmi.server.RemoteServer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.rmi.server.UnicastRemoteObject
  super_class: java.rmi.server.RemoteServer
{
  private int port;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.rmi.server.RMIClientSocketFactory csf;
    descriptor: Ljava/rmi/server/RMIClientSocketFactory;
    flags: (0x0002) ACC_PRIVATE

  private java.rmi.server.RMIServerSocketFactory ssf;
    descriptor: Ljava/rmi/server/RMIServerSocketFactory;
    flags: (0x0002) ACC_PRIVATE

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4974527148936298033

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.rmi.server.UnicastRemoteObject this
         0: .line 212
            aload 0 /* this */
            iconst_0
            invokespecial java.rmi.server.UnicastRemoteObject.<init>:(I)V
         1: .line 213
            return
        end local 0 // java.rmi.server.UnicastRemoteObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/rmi/server/UnicastRemoteObject;
    Exceptions:
      throws java.rmi.RemoteException

  protected void <init>(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.rmi.server.UnicastRemoteObject this
        start local 1 // int port
         0: .line 227
            aload 0 /* this */
            invokespecial java.rmi.server.RemoteServer.<init>:()V
         1: .line 182
            aload 0 /* this */
            iconst_0
            putfield java.rmi.server.UnicastRemoteObject.port:I
         2: .line 188
            aload 0 /* this */
            aconst_null
            putfield java.rmi.server.UnicastRemoteObject.csf:Ljava/rmi/server/RMIClientSocketFactory;
         3: .line 195
            aload 0 /* this */
            aconst_null
            putfield java.rmi.server.UnicastRemoteObject.ssf:Ljava/rmi/server/RMIServerSocketFactory;
         4: .line 229
            aload 0 /* this */
            iload 1 /* port */
            putfield java.rmi.server.UnicastRemoteObject.port:I
         5: .line 230
            aload 0 /* this */
            iload 1 /* port */
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;I)Ljava/rmi/Remote;
            pop
         6: .line 231
            return
        end local 1 // int port
        end local 0 // java.rmi.server.UnicastRemoteObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/rmi/server/UnicastRemoteObject;
            0    7     1  port  I
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      port  

  protected void <init>(int, java.rmi.server.RMIClientSocketFactory, java.rmi.server.RMIServerSocketFactory);
    descriptor: (ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.rmi.server.UnicastRemoteObject this
        start local 1 // int port
        start local 2 // java.rmi.server.RMIClientSocketFactory csf
        start local 3 // java.rmi.server.RMIServerSocketFactory ssf
         0: .line 249
            aload 0 /* this */
            invokespecial java.rmi.server.RemoteServer.<init>:()V
         1: .line 182
            aload 0 /* this */
            iconst_0
            putfield java.rmi.server.UnicastRemoteObject.port:I
         2: .line 188
            aload 0 /* this */
            aconst_null
            putfield java.rmi.server.UnicastRemoteObject.csf:Ljava/rmi/server/RMIClientSocketFactory;
         3: .line 195
            aload 0 /* this */
            aconst_null
            putfield java.rmi.server.UnicastRemoteObject.ssf:Ljava/rmi/server/RMIServerSocketFactory;
         4: .line 254
            aload 0 /* this */
            iload 1 /* port */
            putfield java.rmi.server.UnicastRemoteObject.port:I
         5: .line 255
            aload 0 /* this */
            aload 2 /* csf */
            putfield java.rmi.server.UnicastRemoteObject.csf:Ljava/rmi/server/RMIClientSocketFactory;
         6: .line 256
            aload 0 /* this */
            aload 3 /* ssf */
            putfield java.rmi.server.UnicastRemoteObject.ssf:Ljava/rmi/server/RMIServerSocketFactory;
         7: .line 257
            aload 0 /* this */
            iload 1 /* port */
            aload 2 /* csf */
            aload 3 /* ssf */
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)Ljava/rmi/Remote;
            pop
         8: .line 258
            return
        end local 3 // java.rmi.server.RMIServerSocketFactory ssf
        end local 2 // java.rmi.server.RMIClientSocketFactory csf
        end local 1 // int port
        end local 0 // java.rmi.server.UnicastRemoteObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/rmi/server/UnicastRemoteObject;
            0    9     1  port  I
            0    9     2   csf  Ljava/rmi/server/RMIClientSocketFactory;
            0    9     3   ssf  Ljava/rmi/server/RMIServerSocketFactory;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      port  
      csf   
      ssf   

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.rmi.server.UnicastRemoteObject this
        start local 1 // java.io.ObjectInputStream in
         0: .line 266
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 267
            aload 0 /* this */
            invokevirtual java.rmi.server.UnicastRemoteObject.reexport:()V
         2: .line 268
            return
        end local 1 // java.io.ObjectInputStream in
        end local 0 // java.rmi.server.UnicastRemoteObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/rmi/server/UnicastRemoteObject;
            0    3     1    in  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.rmi.server.UnicastRemoteObject this
         0: .line 282
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast java.rmi.server.UnicastRemoteObject
            astore 1 /* cloned */
        start local 1 // java.rmi.server.UnicastRemoteObject cloned
         1: .line 283
            aload 1 /* cloned */
            invokevirtual java.rmi.server.UnicastRemoteObject.reexport:()V
         2: .line 284
            aload 1 /* cloned */
         3: areturn
        end local 1 // java.rmi.server.UnicastRemoteObject cloned
         4: .line 285
      StackMap locals:
      StackMap stack: java.rmi.RemoteException
            astore 1 /* e */
        start local 1 // java.rmi.RemoteException e
         5: .line 286
            new java.rmi.server.ServerCloneException
            dup
            ldc "Clone failed"
            aload 1 /* e */
            invokespecial java.rmi.server.ServerCloneException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 1 // java.rmi.RemoteException e
        end local 0 // java.rmi.server.UnicastRemoteObject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/rmi/server/UnicastRemoteObject;
            1    4     1  cloned  Ljava/rmi/server/UnicastRemoteObject;
            5    6     1       e  Ljava/rmi/RemoteException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.rmi.RemoteException
    Exceptions:
      throws java.lang.CloneNotSupportedException

  private void reexport();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.rmi.server.UnicastRemoteObject this
         0: .line 297
            aload 0 /* this */
            getfield java.rmi.server.UnicastRemoteObject.csf:Ljava/rmi/server/RMIClientSocketFactory;
            ifnonnull 3
            aload 0 /* this */
            getfield java.rmi.server.UnicastRemoteObject.ssf:Ljava/rmi/server/RMIServerSocketFactory;
            ifnonnull 3
         1: .line 298
            aload 0 /* this */
            aload 0 /* this */
            getfield java.rmi.server.UnicastRemoteObject.port:I
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;I)Ljava/rmi/Remote;
            pop
         2: .line 299
            goto 4
         3: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.rmi.server.UnicastRemoteObject.port:I
            aload 0 /* this */
            getfield java.rmi.server.UnicastRemoteObject.csf:Ljava/rmi/server/RMIClientSocketFactory;
            aload 0 /* this */
            getfield java.rmi.server.UnicastRemoteObject.ssf:Ljava/rmi/server/RMIServerSocketFactory;
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)Ljava/rmi/Remote;
            pop
         4: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.rmi.server.UnicastRemoteObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/rmi/server/UnicastRemoteObject;
    Exceptions:
      throws java.rmi.RemoteException

  public static java.rmi.server.RemoteStub exportObject(java.rmi.Remote);
    descriptor: (Ljava/rmi/Remote;)Ljava/rmi/server/RemoteStub;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.rmi.Remote obj
         0: .line 333
            aload 0 /* obj */
            new sun.rmi.server.UnicastServerRef
            dup
            iconst_1
            invokespecial sun.rmi.server.UnicastServerRef.<init>:(Z)V
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;
            checkcast java.rmi.server.RemoteStub
            areturn
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/rmi/Remote;
    Exceptions:
      throws java.rmi.RemoteException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      obj   

  public static java.rmi.Remote exportObject(java.rmi.Remote, int);
    descriptor: (Ljava/rmi/Remote;I)Ljava/rmi/Remote;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.rmi.Remote obj
        start local 1 // int port
         0: .line 352
            aload 0 /* obj */
            new sun.rmi.server.UnicastServerRef
            dup
            iload 1 /* port */
            invokespecial sun.rmi.server.UnicastServerRef.<init>:(I)V
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;
            areturn
        end local 1 // int port
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/rmi/Remote;
            0    1     1  port  I
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      obj   
      port  

  public static java.rmi.Remote exportObject(java.rmi.Remote, int, java.rmi.server.RMIClientSocketFactory, java.rmi.server.RMIServerSocketFactory);
    descriptor: (Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)Ljava/rmi/Remote;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.rmi.Remote obj
        start local 1 // int port
        start local 2 // java.rmi.server.RMIClientSocketFactory csf
        start local 3 // java.rmi.server.RMIServerSocketFactory ssf
         0: .line 378
            aload 0 /* obj */
            new sun.rmi.server.UnicastServerRef2
            dup
            iload 1 /* port */
            aload 2 /* csf */
            aload 3 /* ssf */
            invokespecial sun.rmi.server.UnicastServerRef2.<init>:(ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;)V
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;
            areturn
        end local 3 // java.rmi.server.RMIServerSocketFactory ssf
        end local 2 // java.rmi.server.RMIClientSocketFactory csf
        end local 1 // int port
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/rmi/Remote;
            0    1     1  port  I
            0    1     2   csf  Ljava/rmi/server/RMIClientSocketFactory;
            0    1     3   ssf  Ljava/rmi/server/RMIServerSocketFactory;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      obj   
      port  
      csf   
      ssf   

  public static java.rmi.Remote exportObject(java.rmi.Remote, int, java.io.ObjectInputFilter);
    descriptor: (Ljava/rmi/Remote;ILjava/io/ObjectInputFilter;)Ljava/rmi/Remote;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.rmi.Remote obj
        start local 1 // int port
        start local 2 // java.io.ObjectInputFilter filter
         0: .line 401
            aload 0 /* obj */
            new sun.rmi.server.UnicastServerRef
            dup
            new sun.rmi.transport.LiveRef
            dup
            iload 1 /* port */
            invokespecial sun.rmi.transport.LiveRef.<init>:(I)V
            aload 2 /* filter */
            invokespecial sun.rmi.server.UnicastServerRef.<init>:(Lsun/rmi/transport/LiveRef;Ljava/io/ObjectInputFilter;)V
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;
            areturn
        end local 2 // java.io.ObjectInputFilter filter
        end local 1 // int port
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     obj  Ljava/rmi/Remote;
            0    1     1    port  I
            0    1     2  filter  Ljava/io/ObjectInputFilter;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
        Name  Flags
      obj     
      port    
      filter  

  public static java.rmi.Remote exportObject(java.rmi.Remote, int, java.rmi.server.RMIClientSocketFactory, java.rmi.server.RMIServerSocketFactory, java.io.ObjectInputFilter);
    descriptor: (Ljava/rmi/Remote;ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Ljava/io/ObjectInputFilter;)Ljava/rmi/Remote;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.rmi.Remote obj
        start local 1 // int port
        start local 2 // java.rmi.server.RMIClientSocketFactory csf
        start local 3 // java.rmi.server.RMIServerSocketFactory ssf
        start local 4 // java.io.ObjectInputFilter filter
         0: .line 430
            aload 0 /* obj */
            new sun.rmi.server.UnicastServerRef2
            dup
            iload 1 /* port */
            aload 2 /* csf */
            aload 3 /* ssf */
            aload 4 /* filter */
            invokespecial sun.rmi.server.UnicastServerRef2.<init>:(ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Ljava/io/ObjectInputFilter;)V
            invokestatic java.rmi.server.UnicastRemoteObject.exportObject:(Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;
            areturn
        end local 4 // java.io.ObjectInputFilter filter
        end local 3 // java.rmi.server.RMIServerSocketFactory ssf
        end local 2 // java.rmi.server.RMIClientSocketFactory csf
        end local 1 // int port
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     obj  Ljava/rmi/Remote;
            0    1     1    port  I
            0    1     2     csf  Ljava/rmi/server/RMIClientSocketFactory;
            0    1     3     ssf  Ljava/rmi/server/RMIServerSocketFactory;
            0    1     4  filter  Ljava/io/ObjectInputFilter;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
        Name  Flags
      obj     
      port    
      csf     
      ssf     
      filter  

  public static boolean unexportObject(java.rmi.Remote, boolean);
    descriptor: (Ljava/rmi/Remote;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.rmi.Remote obj
        start local 1 // boolean force
         0: .line 454
            aload 0 /* obj */
            iload 1 /* force */
            invokestatic sun.rmi.transport.ObjectTable.unexportObject:(Ljava/rmi/Remote;Z)Z
            ireturn
        end local 1 // boolean force
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    obj  Ljava/rmi/Remote;
            0    1     1  force  Z
    Exceptions:
      throws java.rmi.NoSuchObjectException
    MethodParameters:
       Name  Flags
      obj    
      force  

  private static java.rmi.Remote exportObject(java.rmi.Remote, sun.rmi.server.UnicastServerRef);
    descriptor: (Ljava/rmi/Remote;Lsun/rmi/server/UnicastServerRef;)Ljava/rmi/Remote;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.rmi.Remote obj
        start local 1 // sun.rmi.server.UnicastServerRef sref
         0: .line 464
            aload 0 /* obj */
            instanceof java.rmi.server.UnicastRemoteObject
            ifeq 2
         1: .line 465
            aload 0 /* obj */
            checkcast java.rmi.server.UnicastRemoteObject
            aload 1 /* sref */
            putfield java.rmi.server.UnicastRemoteObject.ref:Ljava/rmi/server/RemoteRef;
         2: .line 467
      StackMap locals:
      StackMap stack:
            aload 1 /* sref */
            aload 0 /* obj */
            aconst_null
            iconst_0
            invokevirtual sun.rmi.server.UnicastServerRef.exportObject:(Ljava/rmi/Remote;Ljava/lang/Object;Z)Ljava/rmi/Remote;
            areturn
        end local 1 // sun.rmi.server.UnicastServerRef sref
        end local 0 // java.rmi.Remote obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Ljava/rmi/Remote;
            0    3     1  sref  Lsun/rmi/server/UnicastServerRef;
    Exceptions:
      throws java.rmi.RemoteException
    MethodParameters:
      Name  Flags
      obj   
      sref  
}
SourceFile: "UnicastRemoteObject.java"