public final class org.jruby.util.ReferenceReaper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jruby.util.ReferenceReaper
  super_class: java.lang.Object
{
  public final java.lang.ref.ReferenceQueue referenceQueue;
    descriptor: Ljava/lang/ref/ReferenceQueue;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private final java.lang.Thread reaperThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Runnable reaper;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jruby.util.ReferenceReaper this
         0: .line 14
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 11
            aload 0 /* this */
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            putfield org.jruby.util.ReferenceReaper.referenceQueue:Ljava/lang/ref/ReferenceQueue;
         2: .line 27
            aload 0 /* this */
            new org.jruby.util.ReferenceReaper$1
            dup
            aload 0 /* this */
            invokespecial org.jruby.util.ReferenceReaper$1.<init>:(Lorg/jruby/util/ReferenceReaper;)V
            putfield org.jruby.util.ReferenceReaper.reaper:Ljava/lang/Runnable;
         3: .line 15
            aload 0 /* this */
            new java.lang.Thread
            dup
            aload 0 /* this */
            getfield org.jruby.util.ReferenceReaper.reaper:Ljava/lang/Runnable;
            ldc "ReferenceReaper"
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
            putfield org.jruby.util.ReferenceReaper.reaperThread:Ljava/lang/Thread;
         4: .line 16
            aload 0 /* this */
            getfield org.jruby.util.ReferenceReaper.reaperThread:Ljava/lang/Thread;
            iconst_1
            invokevirtual java.lang.Thread.setDaemon:(Z)V
         5: .line 17
            aload 0 /* this */
            getfield org.jruby.util.ReferenceReaper.reaperThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
         6: .line 18
            return
        end local 0 // org.jruby.util.ReferenceReaper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/util/ReferenceReaper;

  public static final org.jruby.util.ReferenceReaper getInstance();
    descriptor: ()Lorg/jruby/util/ReferenceReaper;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 24
            getstatic org.jruby.util.ReferenceReaper$SingletonHolder.INSTANCE:Lorg/jruby/util/ReferenceReaper;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ReferenceReaper.java"
NestMembers:
  org.jruby.util.ReferenceReaper$1  org.jruby.util.ReferenceReaper$SingletonHolder
InnerClasses:
  org.jruby.util.ReferenceReaper$1
  private final SingletonHolder = org.jruby.util.ReferenceReaper$SingletonHolder of org.jruby.util.ReferenceReaper