public class java.rmi.server.RMIClassLoader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.rmi.server.RMIClassLoader
super_class: java.lang.Object
{
private static final java.rmi.server.RMIClassLoaderSpi defaultProvider;
descriptor: Ljava/rmi/server/RMIClassLoaderSpi;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.rmi.server.RMIClassLoaderSpi provider;
descriptor: Ljava/rmi/server/RMIClassLoaderSpi;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.rmi.server.RMIClassLoader.newDefaultProviderInstance:()Ljava/rmi/server/RMIClassLoaderSpi;
1: putstatic java.rmi.server.RMIClassLoader.defaultProvider:Ljava/rmi/server/RMIClassLoaderSpi;
2: new java.rmi.server.RMIClassLoader$1
dup
invokespecial java.rmi.server.RMIClassLoader$1.<init>:()V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.rmi.server.RMIClassLoaderSpi
4: putstatic java.rmi.server.RMIClassLoader.provider:Ljava/rmi/server/RMIClassLoaderSpi;
5: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/rmi/server/RMIClassLoader;
public static java.lang.Class<?> loadClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aconst_null
aload 0
invokestatic java.rmi.server.RMIClassLoader.loadClass:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
Exceptions:
throws java.net.MalformedURLException, java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
name
public static java.lang.Class<?> loadClass(java.net.URL, java.lang.String);
descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.rmi.server.RMIClassLoader.provider:Ljava/rmi/server/RMIClassLoaderSpi;
1: aload 0
ifnull 2
aload 0
invokevirtual java.net.URL.toString:()Ljava/lang/String;
goto 3
StackMap locals:
StackMap stack: java.rmi.server.RMIClassLoaderSpi
2: aconst_null
StackMap locals: java.net.URL java.lang.String
StackMap stack: java.rmi.server.RMIClassLoaderSpi java.lang.String
3: aload 1
aconst_null
4: invokevirtual java.rmi.server.RMIClassLoaderSpi.loadClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 codebase Ljava/net/URL;
0 5 1 name Ljava/lang/String;
Exceptions:
throws java.net.MalformedURLException, java.lang.ClassNotFoundException
Signature: (Ljava/net/URL;Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
codebase
name
public static java.lang.Class<?> loadClass(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.rmi.server.RMIClassLoader.provider:Ljava/rmi/server/RMIClassLoaderSpi;
aload 0
aload 1
aconst_null
invokevirtual java.rmi.server.RMIClassLoaderSpi.loadClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codebase Ljava/lang/String;
0 1 1 name Ljava/lang/String;
Exceptions:
throws java.net.MalformedURLException, java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
codebase
name
public static java.lang.Class<?> loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.rmi.server.RMIClassLoader.provider:Ljava/rmi/server/RMIClassLoaderSpi;
aload 0
aload 1
aload 2
invokevirtual java.rmi.server.RMIClassLoaderSpi.loadClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codebase Ljava/lang/String;
0 1 1 name Ljava/lang/String;
0 1 2 defaultLoader Ljava/lang/ClassLoader;
Exceptions:
throws java.net.MalformedURLException, java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
codebase
name
defaultLoader
public static java.lang.Class<?> loadProxyClass(java.lang.String, java.lang.String[], java.lang.ClassLoader);
descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.rmi.server.RMIClassLoader.provider:Ljava/rmi/server/RMIClassLoaderSpi;
aload 0
aload 1
aload 2
invokevirtual java.rmi.server.RMIClassLoaderSpi.loadProxyClass:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codebase Ljava/lang/String;
0 1 1 interfaces [Ljava/lang/String;
0 1 2 defaultLoader Ljava/lang/ClassLoader;
Exceptions:
throws java.lang.ClassNotFoundException, java.net.MalformedURLException
Signature: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
codebase
interfaces
defaultLoader
public static java.lang.ClassLoader getClassLoader(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/ClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.rmi.server.RMIClassLoader.provider:Ljava/rmi/server/RMIClassLoaderSpi;
aload 0
invokevirtual java.rmi.server.RMIClassLoaderSpi.getClassLoader:(Ljava/lang/String;)Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codebase Ljava/lang/String;
Exceptions:
throws java.net.MalformedURLException, java.lang.SecurityException
MethodParameters:
Name Flags
codebase
public static java.lang.String getClassAnnotation(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.rmi.server.RMIClassLoader.provider:Ljava/rmi/server/RMIClassLoaderSpi;
aload 0
invokevirtual java.rmi.server.RMIClassLoaderSpi.getClassAnnotation:(Ljava/lang/Class;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cl Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cl
public static java.rmi.server.RMIClassLoaderSpi getDefaultProviderInstance();
descriptor: ()Ljava/rmi/server/RMIClassLoaderSpi;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
new java.lang.RuntimePermission
dup
ldc "setFactory"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
getstatic java.rmi.server.RMIClassLoader.defaultProvider:Ljava/rmi/server/RMIClassLoaderSpi;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 sm Ljava/lang/SecurityManager;
public static java.lang.Object getSecurityContext(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.rmi.server.LoaderHandler.getSecurityContext:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 loader Ljava/lang/ClassLoader;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
loader
private static java.rmi.server.RMIClassLoaderSpi newDefaultProviderInstance();
descriptor: ()Ljava/rmi/server/RMIClassLoaderSpi;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.rmi.server.RMIClassLoader$2
dup
invokespecial java.rmi.server.RMIClassLoader$2.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.rmi.server.RMIClassLoaderSpi initializeProvider();
descriptor: ()Ljava/rmi/server/RMIClassLoaderSpi;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=0
0: ldc "java.rmi.server.RMIClassLoaderSpi"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
1: astore 0
start local 0 2: aload 0
ifnull 24
3: aload 0
ldc "default"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: getstatic java.rmi.server.RMIClassLoader.defaultProvider:Ljava/rmi/server/RMIClassLoaderSpi;
areturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
iconst_0
6: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
7: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
8: ldc Ljava/rmi/server/RMIClassLoaderSpi;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
9: astore 1
start local 1 10: aload 1
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast java.rmi.server.RMIClassLoaderSpi
11: areturn
end local 1 12: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 1
start local 1 13: new java.lang.NoClassDefFoundError
dup
aload 1
invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokespecial java.lang.NoClassDefFoundError.<init>:(Ljava/lang/String;)V
athrow
end local 1 14: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 1
start local 1 15: new java.lang.IllegalAccessError
dup
aload 1
invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
athrow
end local 1 16: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 1
start local 1 17: new java.lang.InstantiationError
dup
aload 1
invokevirtual java.lang.InstantiationException.getMessage:()Ljava/lang/String;
invokespecial java.lang.InstantiationError.<init>:(Ljava/lang/String;)V
athrow
end local 1 18: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 1
start local 1 19: new java.lang.LinkageError
dup
20: ldc "provider class not assignable to RMIClassLoaderSpi"
21: invokespecial java.lang.LinkageError.<init>:(Ljava/lang/String;)V
astore 2
start local 2 22: aload 2
aload 1
invokevirtual java.lang.Error.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
23: aload 2
athrow
end local 2 end local 1 24: StackMap locals:
StackMap stack:
ldc Ljava/rmi/server/RMIClassLoaderSpi;
25: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
26: invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
27: invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
28: astore 1
start local 1 29: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 38
30: aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.rmi.server.RMIClassLoaderSpi
31: areturn
32: StackMap locals: java.lang.String java.util.Iterator
StackMap stack: java.lang.ClassCastException
astore 2
start local 2 33: new java.lang.LinkageError
dup
34: ldc "provider class not assignable to RMIClassLoaderSpi"
35: invokespecial java.lang.LinkageError.<init>:(Ljava/lang/String;)V
astore 3
start local 3 36: aload 3
aload 2
invokevirtual java.lang.Error.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
37: aload 3
athrow
end local 3 end local 2 38: StackMap locals:
StackMap stack:
getstatic java.rmi.server.RMIClassLoader.defaultProvider:Ljava/rmi/server/RMIClassLoaderSpi;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
2 39 0 providerClassName Ljava/lang/String;
10 12 1 providerClass Ljava/lang/Class<+Ljava/rmi/server/RMIClassLoaderSpi;>;
13 14 1 e Ljava/lang/ClassNotFoundException;
15 16 1 e Ljava/lang/IllegalAccessException;
17 18 1 e Ljava/lang/InstantiationException;
19 24 1 e Ljava/lang/ClassCastException;
22 24 2 error Ljava/lang/Error;
29 39 1 iter Ljava/util/Iterator<Ljava/rmi/server/RMIClassLoaderSpi;>;
33 38 2 e Ljava/lang/ClassCastException;
36 38 3 error Ljava/lang/Error;
Exception table:
from to target type
5 11 12 Class java.lang.ClassNotFoundException
5 11 14 Class java.lang.IllegalAccessException
5 11 16 Class java.lang.InstantiationException
5 11 18 Class java.lang.ClassCastException
30 31 32 Class java.lang.ClassCastException
}
SourceFile: "RMIClassLoader.java"
NestMembers:
java.rmi.server.RMIClassLoader$1 java.rmi.server.RMIClassLoader$2
InnerClasses:
java.rmi.server.RMIClassLoader$1
java.rmi.server.RMIClassLoader$2