public class java.net.URLClassLoader extends java.security.SecureClassLoader implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.net.URLClassLoader
super_class: java.security.SecureClassLoader
{
private final sun.misc.URLClassPath ucp;
descriptor: Lsun/misc/URLClassPath;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.WeakHashMap<java.io.Closeable, java.lang.Void> closeables;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/WeakHashMap<Ljava/io/Closeable;Ljava/lang/Void;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.net.URLClassLoader$1
dup
invokespecial java.net.URLClassLoader$1.<init>:()V
1: invokestatic sun.misc.SharedSecrets.setJavaNetAccess:(Lsun/misc/JavaNetAccess;)V
2: invokestatic java.lang.ClassLoader.registerAsParallelCapable:()Z
pop
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.net.URL[], java.lang.ClassLoader);
descriptor: ([Ljava/net/URL;Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial java.security.SecureClassLoader.<init>:(Ljava/lang/ClassLoader;)V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
5: StackMap locals: java.net.URLClassLoader java.net.URL[] java.lang.ClassLoader java.lang.SecurityManager
StackMap stack:
aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
6: aload 0
new sun.misc.URLClassPath
dup
aload 1
aload 0
getfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
invokespecial sun.misc.URLClassPath.<init>:([Ljava/net/URL;Ljava/security/AccessControlContext;)V
putfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/URLClassLoader;
0 8 1 urls [Ljava/net/URL;
0 8 2 parent Ljava/lang/ClassLoader;
3 8 3 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
urls
parent
void <init>(java.net.URL[], java.lang.ClassLoader, java.security.AccessControlContext);
descriptor: ([Ljava/net/URL;Ljava/lang/ClassLoader;Ljava/security/AccessControlContext;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokespecial java.security.SecureClassLoader.<init>:(Ljava/lang/ClassLoader;)V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
5: StackMap locals: java.net.URLClassLoader java.net.URL[] java.lang.ClassLoader java.security.AccessControlContext java.lang.SecurityManager
StackMap stack:
aload 0
aload 3
putfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
6: aload 0
new sun.misc.URLClassPath
dup
aload 1
aload 3
invokespecial sun.misc.URLClassPath.<init>:([Ljava/net/URL;Ljava/security/AccessControlContext;)V
putfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/URLClassLoader;
0 8 1 urls [Ljava/net/URL;
0 8 2 parent Ljava/lang/ClassLoader;
0 8 3 acc Ljava/security/AccessControlContext;
3 8 4 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
urls
parent
acc
public void <init>(java.net.URL[]);
descriptor: ([Ljava/net/URL;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.security.SecureClassLoader.<init>:()V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
5: StackMap locals: java.net.URLClassLoader java.net.URL[] java.lang.SecurityManager
StackMap stack:
aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
6: aload 0
new sun.misc.URLClassPath
dup
aload 1
aload 0
getfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
invokespecial sun.misc.URLClassPath.<init>:([Ljava/net/URL;Ljava/security/AccessControlContext;)V
putfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/URLClassLoader;
0 8 1 urls [Ljava/net/URL;
3 8 2 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
urls
void <init>(java.net.URL[], java.security.AccessControlContext);
descriptor: ([Ljava/net/URL;Ljava/security/AccessControlContext;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.security.SecureClassLoader.<init>:()V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
5: StackMap locals: java.net.URLClassLoader java.net.URL[] java.security.AccessControlContext java.lang.SecurityManager
StackMap stack:
aload 0
aload 2
putfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
6: aload 0
new sun.misc.URLClassPath
dup
aload 1
aload 2
invokespecial sun.misc.URLClassPath.<init>:([Ljava/net/URL;Ljava/security/AccessControlContext;)V
putfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/URLClassLoader;
0 8 1 urls [Ljava/net/URL;
0 8 2 acc Ljava/security/AccessControlContext;
3 8 3 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
urls
acc
public void <init>(java.net.URL[], java.lang.ClassLoader, java.net.URLStreamHandlerFactory);
descriptor: ([Ljava/net/URL;Ljava/lang/ClassLoader;Ljava/net/URLStreamHandlerFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokespecial java.security.SecureClassLoader.<init>:(Ljava/lang/ClassLoader;)V
1: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
2: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
5: StackMap locals: java.net.URLClassLoader java.net.URL[] java.lang.ClassLoader java.net.URLStreamHandlerFactory java.lang.SecurityManager
StackMap stack:
aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
6: aload 0
new sun.misc.URLClassPath
dup
aload 1
aload 3
aload 0
getfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
invokespecial sun.misc.URLClassPath.<init>:([Ljava/net/URL;Ljava/net/URLStreamHandlerFactory;Ljava/security/AccessControlContext;)V
putfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/net/URLClassLoader;
0 8 1 urls [Ljava/net/URL;
0 8 2 parent Ljava/lang/ClassLoader;
0 8 3 factory Ljava/net/URLStreamHandlerFactory;
3 8 4 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
urls
parent
factory
public java.io.InputStream getResourceAsStream(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.net.URLClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.net.URL
StackMap stack:
aload 2
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 3
start local 3 4: aload 3
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 4
start local 4 5: aload 3
instanceof java.net.JarURLConnection
ifeq 15
6: aload 3
checkcast java.net.JarURLConnection
astore 5
start local 5 7: aload 5
invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
astore 6
start local 6 8: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
dup
astore 7
monitorenter
9: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
aload 6
invokevirtual java.util.WeakHashMap.containsKey:(Ljava/lang/Object;)Z
ifne 11
10: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
aload 6
aconst_null
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: StackMap locals: java.net.URLClassLoader java.lang.String java.net.URL java.net.URLConnection java.io.InputStream java.net.JarURLConnection java.util.jar.JarFile java.util.WeakHashMap
StackMap stack:
aload 7
monitorexit
12: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 7
monitorexit
14: athrow
end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 3
instanceof sun.net.www.protocol.file.FileURLConnection
ifeq 22
16: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
dup
astore 5
monitorenter
17: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
aload 4
aconst_null
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 5
monitorexit
19: goto 22
StackMap locals: java.net.URLClassLoader java.lang.String java.net.URL java.net.URLConnection java.io.InputStream java.util.WeakHashMap
StackMap stack: java.lang.Throwable
20: aload 5
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
aload 4
23: areturn
end local 4 end local 3 24: StackMap locals: java.net.URLClassLoader java.lang.String java.net.URL
StackMap stack: java.io.IOException
pop
25: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/net/URLClassLoader;
0 26 1 name Ljava/lang/String;
1 26 2 url Ljava/net/URL;
4 24 3 urlc Ljava/net/URLConnection;
5 24 4 is Ljava/io/InputStream;
7 15 5 juc Ljava/net/JarURLConnection;
8 15 6 jar Ljava/util/jar/JarFile;
Exception table:
from to target type
9 12 13 any
13 14 13 any
17 19 20 any
20 21 20 any
1 2 24 Class java.io.IOException
3 23 24 Class java.io.IOException
MethodParameters:
Name Flags
name
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
new java.lang.RuntimePermission
dup
ldc "closeClassLoader"
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:
aload 0
getfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
invokevirtual sun.misc.URLClassPath.closeLoaders:()Ljava/util/List;
astore 2
start local 2 4: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
dup
astore 3
monitorenter
5: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
invokevirtual java.util.WeakHashMap.keySet:()Ljava/util/Set;
astore 4
start local 4 6: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: java.net.URLClassLoader java.lang.SecurityManager java.util.List java.util.WeakHashMap java.util.Set top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.Closeable
astore 5
start local 5 8: aload 5
invokeinterface java.io.Closeable.close:()V
9: goto 12
StackMap locals: java.net.URLClassLoader java.lang.SecurityManager java.util.List java.util.WeakHashMap java.util.Set java.io.Closeable java.util.Iterator
StackMap stack: java.io.IOException
10: astore 7
start local 7 11: aload 2
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 5 12: StackMap locals: java.net.URLClassLoader java.lang.SecurityManager java.util.List java.util.WeakHashMap java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
13: aload 0
getfield java.net.URLClassLoader.closeables:Ljava/util/WeakHashMap;
invokevirtual java.util.WeakHashMap.clear:()V
end local 4 14: aload 3
monitorexit
15: goto 18
StackMap locals: java.net.URLClassLoader java.lang.SecurityManager java.util.List java.util.WeakHashMap
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 20
19: return
20: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.io.IOException
astore 3
start local 3 21: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 24
StackMap locals: java.net.URLClassLoader java.lang.SecurityManager java.util.List java.io.IOException top java.util.Iterator
StackMap stack:
22: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.IOException
astore 4
start local 4 23: aload 3
aload 4
invokevirtual java.io.IOException.addSuppressed:(Ljava/lang/Throwable;)V
end local 4 24: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
25: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/net/URLClassLoader;
1 26 1 security Ljava/lang/SecurityManager;
4 26 2 errors Ljava/util/List<Ljava/io/IOException;>;
6 14 4 keys Ljava/util/Set<Ljava/io/Closeable;>;
8 12 5 c Ljava/io/Closeable;
11 12 7 ioex Ljava/io/IOException;
21 26 3 firstex Ljava/io/IOException;
23 24 4 error Ljava/io/IOException;
Exception table:
from to target type
8 9 10 Class java.io.IOException
5 15 16 any
16 17 16 any
Exceptions:
throws java.io.IOException
protected void addURL(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
aload 1
invokevirtual sun.misc.URLClassPath.addURL:(Ljava/net/URL;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/URLClassLoader;
0 2 1 url Ljava/net/URL;
MethodParameters:
Name Flags
url
public java.net.URL[] getURLs();
descriptor: ()[Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
invokevirtual sun.misc.URLClassPath.getURLs:()[Ljava/net/URL;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/URLClassLoader;
protected java.lang.Class<?> findClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.net.URLClassLoader$2
dup
aload 0
aload 1
invokespecial java.net.URLClassLoader$2.<init>:(Ljava/net/URLClassLoader;Ljava/lang/String;)V
1: aload 0
getfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast java.lang.Class
astore 2
start local 2 3: goto 6
end local 2 StackMap locals:
StackMap stack: java.security.PrivilegedActionException
4: astore 3
start local 3 5: aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.lang.ClassNotFoundException
athrow
end local 3 start local 2 6: StackMap locals: java.lang.Class
StackMap stack:
aload 2
ifnonnull 8
7: new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/net/URLClassLoader;
0 9 1 name Ljava/lang/String;
3 4 2 result Ljava/lang/Class<*>;
6 9 2 result Ljava/lang/Class<*>;
5 6 3 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 3 4 Class java.security.PrivilegedActionException
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name final
private java.lang.Package getAndVerifyPackage(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: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual java.net.URLClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
astore 4
start local 4 1: aload 4
ifnull 13
2: aload 4
invokevirtual java.lang.Package.isSealed:()Z
ifeq 7
3: aload 4
aload 3
invokevirtual java.lang.Package.isSealed:(Ljava/net/URL;)Z
ifne 13
4: new java.lang.SecurityException
dup
5: new java.lang.StringBuilder
dup
ldc "sealing violation: package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is sealed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.Package
StackMap stack:
aload 2
ifnull 13
aload 0
aload 1
aload 2
invokevirtual java.net.URLClassLoader.isSealed:(Ljava/lang/String;Ljava/util/jar/Manifest;)Z
ifeq 13
8: new java.lang.SecurityException
dup
9: new java.lang.StringBuilder
dup
ldc "sealing violation: can't seal package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc ": already loaded"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/net/URLClassLoader;
0 14 1 pkgname Ljava/lang/String;
0 14 2 man Ljava/util/jar/Manifest;
0 14 3 url Ljava/net/URL;
1 14 4 pkg Ljava/lang/Package;
MethodParameters:
Name Flags
pkgname
man
url
private void definePackageInternal(java.lang.String, java.util.jar.Manifest, java.net.URL);
descriptor: (Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, 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
invokevirtual java.net.URLClassLoader.getAndVerifyPackage:(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;
ifnonnull 11
1: aload 2
ifnull 4
2: aload 0
aload 1
aload 2
aload 3
invokevirtual java.net.URLClassLoader.definePackage:(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;
pop
3: goto 11
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokevirtual java.net.URLClassLoader.definePackage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
pop
5: goto 11
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
6: pop
7: aload 0
aload 1
aload 2
aload 3
invokevirtual java.net.URLClassLoader.getAndVerifyPackage:(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;
ifnonnull 11
8: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Cannot find package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/net/URLClassLoader;
0 12 1 pkgname Ljava/lang/String;
0 12 2 man Ljava/util/jar/Manifest;
0 12 3 url Ljava/net/URL;
Exception table:
from to target type
1 5 6 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
pkgname
man
url
private java.lang.Class<?> defineClass(java.lang.String, sun.misc.Resource);
descriptor: (Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.nanoTime:()J
lstore 3
start local 3 1: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 2: aload 2
invokevirtual sun.misc.Resource.getCodeSourceURL:()Ljava/net/URL;
astore 6
start local 6 3: iload 5
iconst_m1
if_icmpeq 7
4: aload 1
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 5: aload 2
invokevirtual sun.misc.Resource.getManifest:()Ljava/util/jar/Manifest;
astore 8
start local 8 6: aload 0
aload 7
aload 8
aload 6
invokevirtual java.net.URLClassLoader.definePackageInternal:(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)V
end local 8 end local 7 7: StackMap locals: long int java.net.URL
StackMap stack:
aload 2
invokevirtual sun.misc.Resource.getByteBuffer:()Ljava/nio/ByteBuffer;
astore 7
start local 7 8: aload 7
ifnull 13
9: aload 2
invokevirtual sun.misc.Resource.getCodeSigners:()[Ljava/security/CodeSigner;
astore 8
start local 8 10: new java.security.CodeSource
dup
aload 6
aload 8
invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/CodeSigner;)V
astore 9
start local 9 11: invokestatic sun.misc.PerfCounter.getReadClassBytesTime:()Lsun/misc/PerfCounter;
lload 3
invokevirtual sun.misc.PerfCounter.addElapsedTimeFrom:(J)V
12: aload 0
aload 1
aload 7
aload 9
invokevirtual java.net.URLClassLoader.defineClass:(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/CodeSource;)Ljava/lang/Class;
areturn
end local 9 end local 8 13: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 2
invokevirtual sun.misc.Resource.getBytes:()[B
astore 8
start local 8 14: aload 2
invokevirtual sun.misc.Resource.getCodeSigners:()[Ljava/security/CodeSigner;
astore 9
start local 9 15: new java.security.CodeSource
dup
aload 6
aload 9
invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/CodeSigner;)V
astore 10
start local 10 16: invokestatic sun.misc.PerfCounter.getReadClassBytesTime:()Lsun/misc/PerfCounter;
lload 3
invokevirtual sun.misc.PerfCounter.addElapsedTimeFrom:(J)V
17: aload 0
aload 1
aload 8
iconst_0
aload 8
arraylength
aload 10
invokevirtual java.net.URLClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/net/URLClassLoader;
0 18 1 name Ljava/lang/String;
0 18 2 res Lsun/misc/Resource;
1 18 3 t0 J
2 18 5 i I
3 18 6 url Ljava/net/URL;
5 7 7 pkgname Ljava/lang/String;
6 7 8 man Ljava/util/jar/Manifest;
8 18 7 bb Ljava/nio/ByteBuffer;
10 13 8 signers [Ljava/security/CodeSigner;
11 13 9 cs Ljava/security/CodeSource;
14 18 8 b [B
15 18 9 signers [Ljava/security/CodeSigner;
16 18 10 cs Ljava/security/CodeSource;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
res
protected java.lang.Package definePackage(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=9, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aconst_null
astore 8
start local 8 5: aconst_null
astore 9
start local 9 6: aconst_null
astore 10
start local 10 7: aconst_null
astore 11
start local 11 8: invokestatic sun.misc.SharedSecrets.javaUtilJarAccess:()Lsun/misc/JavaUtilJarAccess;
9: aload 2
aload 1
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface sun.misc.JavaUtilJarAccess.getTrustedAttributes:(Ljava/util/jar/Manifest;Ljava/lang/String;)Ljava/util/jar/Attributes;
10: astore 12
start local 12 11: aload 12
ifnull 19
12: aload 12
getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 4
13: aload 12
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 5
14: aload 12
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 6
15: aload 12
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 7
16: aload 12
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 8
17: aload 12
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 9
18: aload 12
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 10
19: StackMap locals: java.net.URLClassLoader java.lang.String java.util.jar.Manifest java.net.URL java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.net.URL java.util.jar.Attributes
StackMap stack:
aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 12
20: aload 12
ifnull 35
21: aload 4
ifnonnull 23
22: aload 12
getstatic java.util.jar.Attributes$Name.SPECIFICATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 4
23: StackMap locals:
StackMap stack:
aload 5
ifnonnull 25
24: aload 12
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 5
25: StackMap locals:
StackMap stack:
aload 6
ifnonnull 27
26: aload 12
getstatic java.util.jar.Attributes$Name.SPECIFICATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 6
27: StackMap locals:
StackMap stack:
aload 7
ifnonnull 29
28: aload 12
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_TITLE:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 7
29: StackMap locals:
StackMap stack:
aload 8
ifnonnull 31
30: aload 12
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VERSION:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 8
31: StackMap locals:
StackMap stack:
aload 9
ifnonnull 33
32: aload 12
getstatic java.util.jar.Attributes$Name.IMPLEMENTATION_VENDOR:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 9
33: StackMap locals:
StackMap stack:
aload 10
ifnonnull 35
34: aload 12
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 10
35: StackMap locals:
StackMap stack:
ldc "true"
aload 10
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 37
36: aload 3
astore 11
37: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 5
aload 6
38: aload 7
aload 8
aload 9
aload 11
39: invokevirtual java.net.URLClassLoader.definePackage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljava/net/URLClassLoader;
0 40 1 name Ljava/lang/String;
0 40 2 man Ljava/util/jar/Manifest;
0 40 3 url Ljava/net/URL;
1 40 4 specTitle Ljava/lang/String;
2 40 5 specVersion Ljava/lang/String;
3 40 6 specVendor Ljava/lang/String;
4 40 7 implTitle Ljava/lang/String;
5 40 8 implVersion Ljava/lang/String;
6 40 9 implVendor Ljava/lang/String;
7 40 10 sealed Ljava/lang/String;
8 40 11 sealBase Ljava/net/URL;
11 40 12 attr Ljava/util/jar/Attributes;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
name
man
url
private boolean isSealed(java.lang.String, java.util.jar.Manifest);
descriptor: (Ljava/lang/String;Ljava/util/jar/Manifest;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic sun.misc.SharedSecrets.javaUtilJarAccess:()Lsun/misc/JavaUtilJarAccess;
1: aload 2
aload 1
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface sun.misc.JavaUtilJarAccess.getTrustedAttributes:(Ljava/util/jar/Manifest;Ljava/lang/String;)Ljava/util/jar/Attributes;
2: astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 3
ifnull 6
5: aload 3
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 4
6: StackMap locals: java.util.jar.Attributes java.lang.String
StackMap stack:
aload 4
ifnonnull 9
7: aload 2
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
dup
astore 3
ifnull 9
8: aload 3
getstatic java.util.jar.Attributes$Name.SEALED:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 4
9: StackMap locals:
StackMap stack:
ldc "true"
aload 4
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/net/URLClassLoader;
0 10 1 name Ljava/lang/String;
0 10 2 man Ljava/util/jar/Manifest;
3 10 3 attr Ljava/util/jar/Attributes;
4 10 4 sealed Ljava/lang/String;
MethodParameters:
Name Flags
name
man
public java.net.URL findResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.net.URLClassLoader$3
dup
aload 0
aload 1
invokespecial java.net.URLClassLoader$3.<init>:(Ljava/net/URLClassLoader;Ljava/lang/String;)V
1: aload 0
getfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast java.net.URL
astore 2
start local 2 3: aload 2
ifnull 4
aload 0
getfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
aload 2
invokevirtual sun.misc.URLClassPath.checkURL:(Ljava/net/URL;)Ljava/net/URL;
goto 5
StackMap locals: java.net.URL
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.net.URL
5: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/net/URLClassLoader;
0 6 1 name Ljava/lang/String;
3 6 2 url Ljava/net/URL;
MethodParameters:
Name Flags
name final
public java.util.Enumeration<java.net.URL> findResources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.net.URLClassLoader.ucp:Lsun/misc/URLClassPath;
aload 1
iconst_1
invokevirtual sun.misc.URLClassPath.findResources:(Ljava/lang/String;Z)Ljava/util/Enumeration;
astore 2
start local 2 1: new java.net.URLClassLoader$4
dup
aload 0
aload 2
invokespecial java.net.URLClassLoader$4.<init>:(Ljava/net/URLClassLoader;Ljava/util/Enumeration;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/URLClassLoader;
0 2 1 name Ljava/lang/String;
1 2 2 e Ljava/util/Enumeration<Ljava/net/URL;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name final
protected java.security.PermissionCollection getPermissions(java.security.CodeSource);
descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.security.SecureClassLoader.getPermissions:(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
astore 2
start local 2 1: aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
astore 3
start local 3 2: aload 3
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 5
start local 5 3: aload 5
invokevirtual java.net.URLConnection.getPermission:()Ljava/security/Permission;
astore 4
start local 4 4: goto 8
end local 5 end local 4 StackMap locals: java.net.URLClassLoader java.security.CodeSource java.security.PermissionCollection java.net.URL
StackMap stack: java.io.IOException
5: pop
6: aconst_null
astore 4
start local 4 7: aconst_null
astore 5
start local 5 8: StackMap locals: java.security.Permission java.net.URLConnection
StackMap stack:
aload 4
instanceof java.io.FilePermission
ifeq 14
9: aload 4
invokevirtual java.security.Permission.getName:()Ljava/lang/String;
astore 6
start local 6 10: aload 6
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 29
11: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
12: new java.io.FilePermission
dup
aload 6
ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
end local 6 13: goto 29
StackMap locals:
StackMap stack:
14: aload 4
ifnonnull 21
aload 3
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
15: aload 3
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
bipush 47
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 6
start local 6 16: aload 6
invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
astore 6
17: aload 6
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 19
18: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
19: StackMap locals: java.lang.String
StackMap stack:
new java.io.FilePermission
dup
aload 6
ldc "read"
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
end local 6 20: goto 29
21: StackMap locals:
StackMap stack:
aload 3
astore 6
start local 6 22: aload 5
instanceof java.net.JarURLConnection
ifeq 24
23: aload 5
checkcast java.net.JarURLConnection
invokevirtual java.net.JarURLConnection.getJarFileURL:()Ljava/net/URL;
astore 6
24: StackMap locals: java.net.URL
StackMap stack:
aload 6
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
astore 7
start local 7 25: aload 7
ifnull 29
aload 7
invokevirtual java.lang.String.length:()I
ifle 29
26: new java.net.SocketPermission
dup
aload 7
27: ldc "connect,accept"
28: invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 4
end local 7 end local 6 29: StackMap locals:
StackMap stack:
aload 4
ifnull 37
30: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 6
start local 6 31: aload 6
ifnull 36
32: aload 4
astore 7
start local 7 33: new java.net.URLClassLoader$5
dup
aload 0
aload 6
aload 7
invokespecial java.net.URLClassLoader$5.<init>:(Ljava/net/URLClassLoader;Ljava/lang/SecurityManager;Ljava/security/Permission;)V
34: aload 0
getfield java.net.URLClassLoader.acc:Ljava/security/AccessControlContext;
35: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
end local 7 36: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 2
aload 4
invokevirtual java.security.PermissionCollection.add:(Ljava/security/Permission;)V
end local 6 37: StackMap locals:
StackMap stack:
aload 2
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Ljava/net/URLClassLoader;
0 38 1 codesource Ljava/security/CodeSource;
1 38 2 perms Ljava/security/PermissionCollection;
2 38 3 url Ljava/net/URL;
4 5 4 p Ljava/security/Permission;
7 38 4 p Ljava/security/Permission;
3 5 5 urlConnection Ljava/net/URLConnection;
8 38 5 urlConnection Ljava/net/URLConnection;
10 13 6 path Ljava/lang/String;
16 20 6 path Ljava/lang/String;
22 29 6 locUrl Ljava/net/URL;
25 29 7 host Ljava/lang/String;
31 37 6 sm Ljava/lang/SecurityManager;
33 36 7 fp Ljava/security/Permission;
Exception table:
from to target type
2 4 5 Class java.io.IOException
MethodParameters:
Name Flags
codesource
public static java.net.URLClassLoader newInstance(java.net.URL[], java.lang.ClassLoader);
descriptor: ([Ljava/net/URL;Ljava/lang/ClassLoader;)Ljava/net/URLClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
astore 2
start local 2 1: new java.net.URLClassLoader$6
dup
aload 0
aload 1
aload 2
invokespecial java.net.URLClassLoader$6.<init>:([Ljava/net/URL;Ljava/lang/ClassLoader;Ljava/security/AccessControlContext;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.URLClassLoader
astore 3
start local 3 3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 urls [Ljava/net/URL;
0 4 1 parent Ljava/lang/ClassLoader;
1 4 2 acc Ljava/security/AccessControlContext;
3 4 3 ucl Ljava/net/URLClassLoader;
MethodParameters:
Name Flags
urls final
parent final
public static java.net.URLClassLoader newInstance(java.net.URL[]);
descriptor: ([Ljava/net/URL;)Ljava/net/URLClassLoader;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
astore 1
start local 1 1: new java.net.URLClassLoader$7
dup
aload 0
aload 1
invokespecial java.net.URLClassLoader$7.<init>:([Ljava/net/URL;Ljava/security/AccessControlContext;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.net.URLClassLoader
astore 2
start local 2 3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 urls [Ljava/net/URL;
1 4 1 acc Ljava/security/AccessControlContext;
3 4 2 ucl Ljava/net/URLClassLoader;
MethodParameters:
Name Flags
urls final
}
SourceFile: "URLClassLoader.java"
NestMembers:
java.net.URLClassLoader$1 java.net.URLClassLoader$2 java.net.URLClassLoader$3 java.net.URLClassLoader$4 java.net.URLClassLoader$4$1 java.net.URLClassLoader$5 java.net.URLClassLoader$6 java.net.URLClassLoader$7
InnerClasses:
java.net.URLClassLoader$1
java.net.URLClassLoader$2
java.net.URLClassLoader$3
java.net.URLClassLoader$4
java.net.URLClassLoader$5
java.net.URLClassLoader$6
java.net.URLClassLoader$7
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes