public class sun.misc.ClassLoaderUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.ClassLoaderUtil
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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 Lsun/misc/ClassLoaderUtil;
public static void releaseLoader(java.net.URLClassLoader);
descriptor: (Ljava/net/URLClassLoader;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic sun.misc.ClassLoaderUtil.releaseLoader:(Ljava/net/URLClassLoader;Ljava/util/List;)Ljava/util/List;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 classLoader Ljava/net/URLClassLoader;
MethodParameters:
Name Flags
classLoader
public static java.util.List<java.io.IOException> releaseLoader(java.net.URLClassLoader, java.util.List<java.lang.String>);
descriptor: (Ljava/net/URLClassLoader;Ljava/util/List;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=16, args_size=2
start local 0 start local 1 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 1: aload 1
ifnull 3
2: aload 1
invokeinterface java.util.List.clear:()V
3: StackMap locals: java.util.List
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "classLoader = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "SharedSecrets.getJavaNetAccess()="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic sun.misc.SharedSecrets.getJavaNetAccess:()Lsun/misc/JavaNetAccess;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: invokestatic sun.misc.SharedSecrets.getJavaNetAccess:()Lsun/misc/JavaNetAccess;
6: aload 0
invokeinterface sun.misc.JavaNetAccess.getURLClassPath:(Ljava/net/URLClassLoader;)Lsun/misc/URLClassPath;
7: astore 3
start local 3 8: aload 3
getfield sun.misc.URLClassPath.loaders:Ljava/util/ArrayList;
astore 4
start local 4 9: aload 3
getfield sun.misc.URLClassPath.urls:Ljava/util/Stack;
astore 5
start local 5 10: aload 3
getfield sun.misc.URLClassPath.lmap:Ljava/util/HashMap;
astore 6
start local 6 11: aload 5
dup
astore 7
monitorenter
12: aload 5
invokevirtual java.util.Stack.clear:()V
13: aload 7
monitorexit
14: goto 17
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap java.util.Stack
StackMap stack: java.lang.Throwable
15: aload 7
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 6
dup
astore 7
monitorenter
18: aload 6
invokevirtual java.util.HashMap.clear:()V
19: aload 7
monitorexit
20: goto 23
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap java.util.HashMap
StackMap stack: java.lang.Throwable
21: aload 7
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
aload 3
dup
astore 7
monitorenter
24: aload 4
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 9
goto 43
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath top java.util.Iterator
StackMap stack:
25: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 26: aload 8
ifnull 43
27: aload 8
instanceof sun.misc.URLClassPath$JarLoader
ifeq 43
28: aload 8
checkcast sun.misc.URLClassPath$JarLoader
astore 10
start local 10 29: aload 10
invokevirtual sun.misc.URLClassPath$JarLoader.getJarFile:()Ljava/util/jar/JarFile;
astore 11
start local 11 30: aload 11
ifnull 43
31: aload 11
invokevirtual java.util.jar.JarFile.close:()V
32: aload 1
ifnull 43
33: aload 1
aload 11
invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
34: goto 43
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath java.lang.Object java.util.Iterator sun.misc.URLClassPath$JarLoader java.util.jar.JarFile
StackMap stack: java.io.IOException
35: astore 12
start local 12 36: aload 11
ifnonnull 37
ldc "filename not available"
goto 38
StackMap locals: java.io.IOException
StackMap stack:
37: aload 11
invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
38: astore 13
start local 13 39: new java.lang.StringBuilder
dup
ldc "Error closing JAR file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 40: new java.io.IOException
dup
aload 14
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 15
start local 15 41: aload 15
aload 12
invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
42: aload 2
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 43: StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
44: aload 4
invokevirtual java.util.ArrayList.clear:()V
45: aload 7
monitorexit
46: goto 51
StackMap locals: java.net.URLClassLoader java.util.List java.util.List sun.misc.URLClassPath java.util.ArrayList java.util.Stack java.util.HashMap sun.misc.URLClassPath
StackMap stack: java.lang.Throwable
47: aload 7
monitorexit
48: athrow
end local 6 end local 5 end local 4 end local 3 49: StackMap locals: java.net.URLClassLoader java.util.List java.util.List
StackMap stack: java.lang.Throwable
astore 3
start local 3 50: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 51: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 classLoader Ljava/net/URLClassLoader;
0 52 1 jarsClosed Ljava/util/List<Ljava/lang/String;>;
1 52 2 ioExceptions Ljava/util/List<Ljava/io/IOException;>;
8 49 3 ucp Lsun/misc/URLClassPath;
9 49 4 loaders Ljava/util/ArrayList;
10 49 5 urls Ljava/util/Stack;
11 49 6 lmap Ljava/util/HashMap;
26 43 8 o Ljava/lang/Object;
29 43 10 jl Lsun/misc/URLClassPath$JarLoader;
30 43 11 jarFile Ljava/util/jar/JarFile;
36 43 12 ioe Ljava/io/IOException;
39 43 13 jarFileName Ljava/lang/String;
40 43 14 msg Ljava/lang/String;
41 43 15 newIOE Ljava/io/IOException;
50 51 3 t Ljava/lang/Throwable;
Exception table:
from to target type
12 14 15 any
15 16 15 any
18 20 21 any
21 22 21 any
30 34 35 Class java.io.IOException
24 46 47 any
47 48 47 any
1 49 49 Class java.lang.Throwable
Signature: (Ljava/net/URLClassLoader;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/io/IOException;>;
MethodParameters:
Name Flags
classLoader
jarsClosed
}
SourceFile: "ClassLoaderUtil.java"
InnerClasses:
JarLoader = sun.misc.URLClassPath$JarLoader of sun.misc.URLClassPath