public class io.undertow.util.SimpleObjectPool<T> implements io.undertow.util.ObjectPool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.util.SimpleObjectPool
super_class: java.lang.Object
{
private final java.util.function.Supplier<T> supplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Supplier<TT;>;
private final java.util.function.Consumer<T> recycler;
descriptor: Ljava/util/function/Consumer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Consumer<TT;>;
private final java.util.function.Consumer<T> consumer;
descriptor: Ljava/util/function/Consumer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Consumer<TT;>;
private final java.util.concurrent.LinkedBlockingDeque<T> pool;
descriptor: Ljava/util/concurrent/LinkedBlockingDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/LinkedBlockingDeque<TT;>;
public void <init>(int, java.util.function.Supplier<T>, java.util.function.Consumer<T>, java.util.function.Consumer<T>);
descriptor: (ILjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield io.undertow.util.SimpleObjectPool.supplier:Ljava/util/function/Supplier;
2: aload 0
aload 3
putfield io.undertow.util.SimpleObjectPool.recycler:Ljava/util/function/Consumer;
3: aload 0
aload 4
putfield io.undertow.util.SimpleObjectPool.consumer:Ljava/util/function/Consumer;
4: aload 0
new java.util.concurrent.LinkedBlockingDeque
dup
iload 1
invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:(I)V
putfield io.undertow.util.SimpleObjectPool.pool:Ljava/util/concurrent/LinkedBlockingDeque;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/util/SimpleObjectPool<TT;>;
0 6 1 poolSize I
0 6 2 supplier Ljava/util/function/Supplier<TT;>;
0 6 3 recycler Ljava/util/function/Consumer<TT;>;
0 6 4 consumer Ljava/util/function/Consumer<TT;>;
Signature: (ILjava/util/function/Supplier<TT;>;Ljava/util/function/Consumer<TT;>;Ljava/util/function/Consumer<TT;>;)V
MethodParameters:
Name Flags
poolSize
supplier
recycler
consumer
public void <init>(int, java.util.function.Supplier<T>, java.util.function.Consumer<T>);
descriptor: (ILjava/util/function/Supplier;Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/undertow/util/SimpleObjectPool.lambda$0(Ljava/lang/Object;)V (6)
(Ljava/lang/Object;)V
aload 3
invokespecial io.undertow.util.SimpleObjectPool.<init>:(ILjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Consumer;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/util/SimpleObjectPool<TT;>;
0 2 1 poolSize I
0 2 2 supplier Ljava/util/function/Supplier<TT;>;
0 2 3 consumer Ljava/util/function/Consumer<TT;>;
Signature: (ILjava/util/function/Supplier<TT;>;Ljava/util/function/Consumer<TT;>;)V
MethodParameters:
Name Flags
poolSize
supplier
consumer
public io.undertow.util.PooledObject<T> allocate();
descriptor: ()Lio/undertow/util/PooledObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.util.SimpleObjectPool.pool:Ljava/util/concurrent/LinkedBlockingDeque;
invokevirtual java.util.concurrent.LinkedBlockingDeque.poll:()Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
getfield io.undertow.util.SimpleObjectPool.supplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
astore 1
3: StackMap locals: java.lang.Object
StackMap stack:
new io.undertow.util.SimpleObjectPool$SimplePooledObject
dup
aload 1
aload 0
invokespecial io.undertow.util.SimpleObjectPool$SimplePooledObject.<init>:(Ljava/lang/Object;Lio/undertow/util/SimpleObjectPool;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/util/SimpleObjectPool<TT;>;
1 4 1 obj TT;
Signature: ()Lio/undertow/util/PooledObject<TT;>;
private static void lambda$0(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object TT;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/undertow/util/ObjectPool;
SourceFile: "SimpleObjectPool.java"
NestMembers:
io.undertow.util.SimpleObjectPool$SimplePooledObject
InnerClasses:
private final SimplePooledObject = io.undertow.util.SimpleObjectPool$SimplePooledObject of io.undertow.util.SimpleObjectPool
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles