public class org.apache.commons.pool.impl.SoftReferenceObjectPool<T> extends org.apache.commons.pool.BaseObjectPool<T> implements org.apache.commons.pool.ObjectPool<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.pool.impl.SoftReferenceObjectPool
super_class: org.apache.commons.pool.BaseObjectPool
{
private final java.util.List<java.lang.ref.SoftReference<T>> _pool;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/ref/SoftReference<TT;>;>;
private org.apache.commons.pool.PoolableObjectFactory<T> _factory;
descriptor: Lorg/apache/commons/pool/PoolableObjectFactory;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
private final java.lang.ref.ReferenceQueue<T> refQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/ReferenceQueue<TT;>;
private int _numActive;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.commons.pool.BaseObjectPool.<init>:()V
1: aload 0
aconst_null
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
2: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool.refQueue:Ljava/lang/ref/ReferenceQueue;
3: aload 0
iconst_0
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
5: aload 0
aconst_null
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public void <init>(org.apache.commons.pool.PoolableObjectFactory<T>);
descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.apache.commons.pool.BaseObjectPool.<init>:()V
1: aload 0
aconst_null
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
2: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool.refQueue:Ljava/lang/ref/ReferenceQueue;
3: aload 0
iconst_0
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
5: aload 0
aload 1
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
0 7 1 factory Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
Signature: (Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;)V
MethodParameters:
Name Flags
factory
public void <init>(org.apache.commons.pool.PoolableObjectFactory<T>, );
descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.apache.commons.pool.BaseObjectPool.<init>:()V
1: aload 0
aconst_null
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
2: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool.refQueue:Ljava/lang/ref/ReferenceQueue;
3: aload 0
iconst_0
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
4: aload 1
ifnonnull 6
5: new java.lang.IllegalArgumentException
dup
ldc "factory required to prefill the pool."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: org.apache.commons.pool.impl.SoftReferenceObjectPool org.apache.commons.pool.PoolableObjectFactory int
StackMap stack:
aload 0
new java.util.ArrayList
dup
iload 2
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
7: aload 0
aload 1
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
8: aload 0
iload 2
invokestatic org.apache.commons.pool.PoolUtils.prefill:(Lorg/apache/commons/pool/ObjectPool;I)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
0 10 1 factory Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
0 10 2 initSize I
Exceptions:
throws java.lang.Exception, java.lang.IllegalArgumentException
Signature: (Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;I)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
factory
initSize
public synchronized T borrowObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.assertOpen:()V
1: aconst_null
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 34
4: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 10
5: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
ifnonnull 7
6: new java.util.NoSuchElementException
dup
invokespecial java.util.NoSuchElementException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
iconst_1
istore 2
8: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
invokeinterface org.apache.commons.pool.PoolableObjectFactory.makeObject:()Ljava/lang/Object;
astore 1
9: goto 13
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 3
start local 3 11: aload 3
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
astore 1
12: aload 3
invokevirtual java.lang.ref.SoftReference.clear:()V
end local 3 13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
ifnull 34
aload 1
ifnull 34
14: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.activateObject:(Ljava/lang/Object;)V
15: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.validateObject:(Ljava/lang/Object;)Z
ifne 34
16: new java.lang.Exception
dup
ldc "ValidateObject failed"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 18: aload 3
invokestatic org.apache.commons.pool.PoolUtils.checkRethrow:(Ljava/lang/Throwable;)V
19: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
20: goto 27
StackMap locals: org.apache.commons.pool.impl.SoftReferenceObjectPool java.lang.Object int java.lang.Throwable
StackMap stack: java.lang.Throwable
21: astore 4
start local 4 22: aload 4
invokestatic org.apache.commons.pool.PoolUtils.checkRethrow:(Ljava/lang/Throwable;)V
end local 4 23: aconst_null
astore 1
goto 28
24: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
25: aconst_null
astore 1
26: aload 5
athrow
27: StackMap locals:
StackMap stack:
aconst_null
astore 1
28: StackMap locals:
StackMap stack:
iload 2
ifeq 34
29: new java.util.NoSuchElementException
dup
30: new java.lang.StringBuilder
dup
ldc "Could not create a validated object, cause: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 3
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
athrow
end local 3 34: StackMap locals:
StackMap stack:
aload 1
ifnull 4
35: aload 0
dup
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
iconst_1
iadd
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
36: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
2 37 1 obj TT;
3 37 2 newlyCreated Z
11 13 3 ref Ljava/lang/ref/SoftReference<TT;>;
18 34 3 t Ljava/lang/Throwable;
22 23 4 t2 Ljava/lang/Throwable;
Exception table:
from to target type
14 17 17 Class java.lang.Throwable
19 20 21 Class java.lang.Throwable
19 23 24 any
Exceptions:
throws java.lang.Exception
Signature: ()TT;
public synchronized void returnObject();
descriptor: (Ljava/lang/Object;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.isClosed:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
ifnull 11
4: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.validateObject:(Ljava/lang/Object;)Z
ifne 7
5: iconst_0
istore 2
6: goto 11
7: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.passivateObject:(Ljava/lang/Object;)V
8: goto 11
StackMap locals:
StackMap stack: java.lang.Exception
9: pop
10: iconst_0
istore 2
11: StackMap locals:
StackMap stack:
iload 2
ifeq 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 3
start local 3 14: aload 0
dup
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
iconst_1
isub
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
15: iload 2
ifeq 17
16: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
new java.lang.ref.SoftReference
dup
aload 1
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool.refQueue:Ljava/lang/ref/ReferenceQueue;
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.lang.Object.notifyAll:()V
18: iload 3
ifeq 22
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
ifnull 22
19: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
20: goto 22
StackMap locals:
StackMap stack: java.lang.Exception
21: pop
22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
0 23 1 obj TT;
3 23 2 success Z
14 23 3 shouldDestroy Z
Exception table:
from to target type
7 8 9 Class java.lang.Exception
19 20 21 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
Signature: (TT;)V
MethodParameters:
Name Flags
obj
public synchronized void invalidateObject();
descriptor: (Ljava/lang/Object;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
iconst_1
isub
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
1: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
ifnull 3
2: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.notifyAll:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
0 5 1 obj TT;
Exceptions:
throws java.lang.Exception
Signature: (TT;)V
MethodParameters:
Name Flags
obj
public synchronized void addObject();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.assertOpen:()V
1: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "Cannot add objects without a factory."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
invokeinterface org.apache.commons.pool.PoolableObjectFactory.makeObject:()Ljava/lang/Object;
astore 1
start local 1 4: iconst_1
istore 2
start local 2 5: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.validateObject:(Ljava/lang/Object;)Z
ifne 8
6: iconst_0
istore 2
7: goto 9
8: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.passivateObject:(Ljava/lang/Object;)V
9: StackMap locals:
StackMap stack:
iload 2
ifeq 10
iconst_0
goto 11
StackMap locals:
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: istore 3
start local 3 12: iload 2
ifeq 15
13: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
new java.lang.ref.SoftReference
dup
aload 1
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool.refQueue:Ljava/lang/ref/ReferenceQueue;
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 0
invokevirtual java.lang.Object.notifyAll:()V
15: StackMap locals: int
StackMap stack:
iload 3
ifeq 19
16: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 1
invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
17: goto 19
StackMap locals:
StackMap stack: java.lang.Exception
18: pop
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
4 20 1 obj TT;
5 20 2 success Z
12 20 3 shouldDestroy Z
Exception table:
from to target type
16 17 18 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
public synchronized int getNumIdle();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.pruneClearedReferences:()V
1: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
public synchronized int getNumActive();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._numActive:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
public synchronized void clear();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
ifnull 9
1: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 1
start local 1 2: goto 8
3: StackMap locals: java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
astore 2
start local 2 4: aload 2
ifnull 8
5: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
aload 2
invokeinterface org.apache.commons.pool.PoolableObjectFactory.destroyObject:(Ljava/lang/Object;)V
end local 2 6: goto 8
StackMap locals:
StackMap stack: java.lang.Exception
7: pop
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
invokeinterface java.util.List.clear:()V
10: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.pruneClearedReferences:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
2 9 1 iter Ljava/util/Iterator<Ljava/lang/ref/SoftReference<TT;>;>;
4 6 2 obj TT;
Exception table:
from to target type
3 6 7 Class java.lang.Exception
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.commons.pool.BaseObjectPool.close:()V
1: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.clear:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
Exceptions:
throws java.lang.Exception
public synchronized void setFactory(org.apache.commons.pool.PoolableObjectFactory<T>);
descriptor: (Lorg/apache/commons/pool/PoolableObjectFactory;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.assertOpen:()V
1: aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.getNumActive:()I
ifle 3
2: new java.lang.IllegalStateException
dup
ldc "Objects are already active"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.pool.impl.SoftReferenceObjectPool.clear:()V
4: aload 0
aload 1
putfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
0 6 1 factory Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
Exceptions:
throws java.lang.IllegalStateException
Signature: (Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
factory
private void pruneClearedReferences();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: goto 4
start local 1 1: StackMap locals: java.lang.ref.Reference
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._pool:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
2: goto 4
StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
3: pop
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool.refQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
dup
astore 1
start local 1 5: ifnonnull 1
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
1 4 1 ref Ljava/lang/ref/Reference<+TT;>;
5 7 1 ref Ljava/lang/ref/Reference<+TT;>;
Exception table:
from to target type
1 2 3 Class java.lang.UnsupportedOperationException
public synchronized org.apache.commons.pool.PoolableObjectFactory<T> getFactory();
descriptor: ()Lorg/apache/commons/pool/PoolableObjectFactory;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.pool.impl.SoftReferenceObjectPool._factory:Lorg/apache/commons/pool/PoolableObjectFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/pool/impl/SoftReferenceObjectPool<TT;>;
Signature: ()Lorg/apache/commons/pool/PoolableObjectFactory<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lorg/apache/commons/pool/BaseObjectPool<TT;>;Lorg/apache/commons/pool/ObjectPool<TT;>;
SourceFile: "SoftReferenceObjectPool.java"