public abstract class org.glassfish.grizzly.memory.AbstractMemoryManager<E extends org.glassfish.grizzly.Buffer> implements org.glassfish.grizzly.memory.MemoryManager<E>, org.glassfish.grizzly.memory.ThreadLocalPoolProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.glassfish.grizzly.memory.AbstractMemoryManager
  super_class: java.lang.Object
{
  public static final int DEFAULT_MAX_BUFFER_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  protected final org.glassfish.grizzly.monitoring.DefaultMonitoringConfig<org.glassfish.grizzly.memory.MemoryProbe> monitoringConfig;
    descriptor: Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig<Lorg/glassfish/grizzly/memory/MemoryProbe;>;

  protected final int maxBufferSize;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
         0: .line 60
            aload 0 /* this */
            ldc 65536
            invokespecial org.glassfish.grizzly.memory.AbstractMemoryManager.<init>:(I)V
         1: .line 62
            return
        end local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/memory/AbstractMemoryManager<TE;>;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
        start local 1 // int maxBufferSize
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            new org.glassfish.grizzly.memory.AbstractMemoryManager$1
            dup
            aload 0 /* this */
            ldc Lorg/glassfish/grizzly/memory/MemoryProbe;
            invokespecial org.glassfish.grizzly.memory.AbstractMemoryManager$1.<init>:(Lorg/glassfish/grizzly/memory/AbstractMemoryManager;Ljava/lang/Class;)V
            putfield org.glassfish.grizzly.memory.AbstractMemoryManager.monitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
         2: .line 71
            aload 0 /* this */
            iload 1 /* maxBufferSize */
            putfield org.glassfish.grizzly.memory.AbstractMemoryManager.maxBufferSize:I
         3: .line 73
            return
        end local 1 // int maxBufferSize
        end local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/glassfish/grizzly/memory/AbstractMemoryManager<TE;>;
            0    4     1  maxBufferSize  I
    MethodParameters:
               Name  Flags
      maxBufferSize  final

  public int getReadyThreadBufferSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
         0: .line 83
            invokestatic org.glassfish.grizzly.memory.AbstractMemoryManager.getThreadLocalPool:()Lorg/glassfish/grizzly/memory/ThreadLocalPool;
            astore 1 /* threadLocalPool */
        start local 1 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalPool
         1: .line 84
            aload 1 /* threadLocalPool */
            ifnull 3
         2: .line 85
            aload 1 /* threadLocalPool */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.remaining:()I
            ireturn
         3: .line 88
      StackMap locals: org.glassfish.grizzly.memory.ThreadLocalPool
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalPool
        end local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/glassfish/grizzly/memory/AbstractMemoryManager<TE;>;
            1    4     1  threadLocalPool  Lorg/glassfish/grizzly/memory/ThreadLocalPool;

  public int getMaxBufferSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
         0: .line 95
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.AbstractMemoryManager.maxBufferSize:I
            ireturn
        end local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/memory/AbstractMemoryManager<TE;>;

  protected java.lang.Object allocateFromPool(org.glassfish.grizzly.memory.ThreadLocalPool, int);
    descriptor: (Lorg/glassfish/grizzly/memory/ThreadLocalPool;I)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
        start local 1 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
        start local 2 // int size
         0: .line 110
            aload 1 /* threadLocalCache */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.remaining:()I
            iload 2 /* size */
            if_icmplt 3
         1: .line 111
            aload 0 /* this */
            getfield org.glassfish.grizzly.memory.AbstractMemoryManager.monitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            iload 2 /* size */
            invokestatic org.glassfish.grizzly.memory.ProbeNotifier.notifyBufferAllocatedFromPool:(Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;I)V
         2: .line 113
            aload 1 /* threadLocalCache */
            iload 2 /* size */
            invokeinterface org.glassfish.grizzly.memory.ThreadLocalPool.allocate:(I)Ljava/lang/Object;
            areturn
         3: .line 116
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int size
        end local 1 // org.glassfish.grizzly.memory.ThreadLocalPool threadLocalCache
        end local 0 // org.glassfish.grizzly.memory.AbstractMemoryManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/glassfish/grizzly/memory/AbstractMemoryManager<TE;>;
            0    4     1  threadLocalCache  Lorg/glassfish/grizzly/memory/ThreadLocalPool;
            0    4     2              size  I
    MethodParameters:
                  Name  Flags
      threadLocalCache  final
      size              final

  protected abstract java.lang.Object createJmxManagementObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected static org.glassfish.grizzly.memory.ThreadLocalPool getThreadLocalPool();
    descriptor: ()Lorg/glassfish/grizzly/memory/ThreadLocalPool;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 131
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 0 /* t */
        start local 0 // java.lang.Thread t
         1: .line 132
            aload 0 /* t */
            instanceof org.glassfish.grizzly.threadpool.DefaultWorkerThread
            ifeq 3
         2: .line 133
            aload 0 /* t */
            checkcast org.glassfish.grizzly.threadpool.DefaultWorkerThread
            invokevirtual org.glassfish.grizzly.threadpool.DefaultWorkerThread.getMemoryPool:()Lorg/glassfish/grizzly/memory/ThreadLocalPool;
            areturn
         3: .line 135
      StackMap locals: java.lang.Thread
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Thread t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0     t  Ljava/lang/Thread;
}
Signature: <E::Lorg/glassfish/grizzly/Buffer;>Ljava/lang/Object;Lorg/glassfish/grizzly/memory/MemoryManager<TE;>;Lorg/glassfish/grizzly/memory/ThreadLocalPoolProvider;
SourceFile: "AbstractMemoryManager.java"
NestMembers:
  org.glassfish.grizzly.memory.AbstractMemoryManager$1  org.glassfish.grizzly.memory.AbstractMemoryManager$TrimAware
InnerClasses:
  org.glassfish.grizzly.memory.AbstractMemoryManager$1
  protected abstract TrimAware = org.glassfish.grizzly.memory.AbstractMemoryManager$TrimAware of org.glassfish.grizzly.memory.AbstractMemoryManager