class jdk.internal.loader.ClassLoaders$AppClassLoader extends jdk.internal.loader.BuiltinClassLoader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.loader.ClassLoaders$AppClassLoader
super_class: jdk.internal.loader.BuiltinClassLoader
{
final jdk.internal.loader.URLClassPath ucp;
descriptor: Ljdk/internal/loader/URLClassPath;
flags: (0x0010) ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.lang.ClassLoader.registerAsParallelCapable:()Z
ifne 2
1: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.internal.loader.ClassLoaders$PlatformClassLoader, jdk.internal.loader.URLClassPath);
descriptor: (Ljdk/internal/loader/ClassLoaders$PlatformClassLoader;Ljdk/internal/loader/URLClassPath;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "app"
aload 1
aload 2
invokespecial jdk.internal.loader.BuiltinClassLoader.<init>:(Ljava/lang/String;Ljdk/internal/loader/BuiltinClassLoader;Ljdk/internal/loader/URLClassPath;)V
1: aload 0
aload 2
putfield jdk.internal.loader.ClassLoaders$AppClassLoader.ucp:Ljdk/internal/loader/URLClassPath;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/loader/ClassLoaders$AppClassLoader;
0 3 1 parent Ljdk/internal/loader/ClassLoaders$PlatformClassLoader;
0 3 2 ucp Ljdk/internal/loader/URLClassPath;
MethodParameters:
Name Flags
parent
ucp
protected java.lang.Class<?> loadClass(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 5
2: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 3: iload 4
iconst_m1
if_icmpeq 5
4: aload 3
aload 1
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkPackageAccess:(Ljava/lang/String;)V
end local 4 5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
aload 1
iload 2
invokespecial jdk.internal.loader.BuiltinClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/loader/ClassLoaders$AppClassLoader;
0 6 1 cn Ljava/lang/String;
0 6 2 resolve Z
1 6 3 sm Ljava/lang/SecurityManager;
3 5 4 i I
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
cn
resolve
protected java.security.PermissionCollection getPermissions(java.security.CodeSource);
descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial jdk.internal.loader.BuiltinClassLoader.getPermissions:(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
astore 2
start local 2 1: aload 2
new java.lang.RuntimePermission
dup
ldc "exitVM"
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/loader/ClassLoaders$AppClassLoader;
0 3 1 cs Ljava/security/CodeSource;
1 3 2 perms Ljava/security/PermissionCollection;
MethodParameters:
Name Flags
cs
void appendToClassPathForInstrumentation(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.loader.ClassLoaders$AppClassLoader.ucp:Ljdk/internal/loader/URLClassPath;
aload 1
invokevirtual jdk.internal.loader.URLClassPath.addFile:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/loader/ClassLoaders$AppClassLoader;
0 2 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
private java.lang.Package definePackage(java.lang.String, java.lang.Module);
descriptor: (Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.internal.loader.ClassLoaders.JLA:Ljdk/internal/access/JavaLangAccess;
aload 0
aload 1
aload 2
invokeinterface jdk.internal.access.JavaLangAccess.definePackage:(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Package;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/loader/ClassLoaders$AppClassLoader;
0 1 1 pn Ljava/lang/String;
0 1 2 module Ljava/lang/Module;
MethodParameters:
Name Flags
pn
module
protected java.lang.Package defineOrCheckPackage(java.lang.String, java.util.jar.Manifest, java.net.URL);
descriptor: (Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial jdk.internal.loader.BuiltinClassLoader.defineOrCheckPackage:(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/loader/ClassLoaders$AppClassLoader;
0 1 1 pn Ljava/lang/String;
0 1 2 man Ljava/util/jar/Manifest;
0 1 3 url Ljava/net/URL;
MethodParameters:
Name Flags
pn
man
url
}
SourceFile: "ClassLoaders.java"
NestHost: jdk.internal.loader.ClassLoaders
InnerClasses:
private AppClassLoader = jdk.internal.loader.ClassLoaders$AppClassLoader of jdk.internal.loader.ClassLoaders
private PlatformClassLoader = jdk.internal.loader.ClassLoaders$PlatformClassLoader of jdk.internal.loader.ClassLoaders