class java.lang.ClassLoader$NativeLibrary
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.lang.ClassLoader$NativeLibrary
  super_class: java.lang.Object
{
  long handle;
    descriptor: J
    flags: (0x0000) 

  private int jniVersion;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Class fromClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE

  java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  native void load(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  

  native long find(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  

  native void unload();
    descriptor: ()V
    flags: (0x0100) ACC_NATIVE

  public void <init>(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader$NativeLibrary this
        start local 1 // java.lang.Class fromClass
        start local 2 // java.lang.String name
         0: .line 1767
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1768
            aload 0 /* this */
            aload 2 /* name */
            putfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
         2: .line 1769
            aload 0 /* this */
            aload 1 /* fromClass */
            putfield java.lang.ClassLoader$NativeLibrary.fromClass:Ljava/lang/Class;
         3: .line 1770
            return
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class fromClass
        end local 0 // java.lang.ClassLoader$NativeLibrary this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljava/lang/ClassLoader$NativeLibrary;
            0    4     1  fromClass  Ljava/lang/Class;
            0    4     2       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      fromClass  
      name       

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.ClassLoader$NativeLibrary this
         0: .line 1773
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            dup
            astore 1
            monitorenter
         1: .line 1774
            aload 0 /* this */
            getfield java.lang.ClassLoader$NativeLibrary.fromClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ifnull 17
            aload 0 /* this */
            getfield java.lang.ClassLoader$NativeLibrary.handle:J
            lconst_0
            lcmp
            ifeq 17
         2: .line 1776
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 2 /* size */
        start local 2 // int size
         3: .line 1777
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 1778
      StackMap locals: java.util.Vector int int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            iload 3 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 1779
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            iload 3 /* i */
            invokevirtual java.util.Vector.removeElementAt:(I)V
         7: .line 1780
            goto 10
         8: .line 1777
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 3 // int i
        10: .line 1784
      StackMap locals:
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            aload 0 /* this */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1786
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader$NativeLibrary.unload:()V
        12: .line 1787
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 3
        14: .line 1788
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        15: .line 1789
            aload 3
            athrow
        16: .line 1788
      StackMap locals:
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        end local 2 // int size
        17: .line 1773
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        18: goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: aload 1
            monitorexit
        20: athrow
        21: .line 1792
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.ClassLoader$NativeLibrary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Ljava/lang/ClassLoader$NativeLibrary;
            3   17     2  size  I
            4   10     3     i  I
      Exception table:
        from    to  target  type
          11    13      13  any
           1    18      19  any
          19    20      19  any

  static java.lang.Class getFromClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1796
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast java.lang.ClassLoader$NativeLibrary
            getfield java.lang.ClassLoader$NativeLibrary.fromClass:Ljava/lang/Class;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ClassLoader.java"
NestHost: java.lang.ClassLoader
InnerClasses:
  NativeLibrary = java.lang.ClassLoader$NativeLibrary of java.lang.ClassLoader