public class org.codehaus.plexus.util.SweeperPool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.codehaus.plexus.util.SweeperPool
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private transient org.codehaus.plexus.util.SweeperPool$Sweeper sweeper;
descriptor: Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int maxSize;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int minSize;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private int triggerSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<java.lang.Object> pooledObjects;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Ljava/lang/Object;>;
private boolean shuttingDown;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(int, int, int, int, int);
descriptor: (IIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.codehaus.plexus.util.SweeperPool.shuttingDown:Z
2: aload 0
aload 0
iload 1
invokevirtual org.codehaus.plexus.util.SweeperPool.saneConvert:(I)I
putfield org.codehaus.plexus.util.SweeperPool.maxSize:I
3: aload 0
aload 0
iload 2
invokevirtual org.codehaus.plexus.util.SweeperPool.saneConvert:(I)I
putfield org.codehaus.plexus.util.SweeperPool.minSize:I
4: aload 0
aload 0
iload 5
invokevirtual org.codehaus.plexus.util.SweeperPool.saneConvert:(I)I
putfield org.codehaus.plexus.util.SweeperPool.triggerSize:I
5: aload 0
new java.util.ArrayList
dup
iload 3
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
6: iload 4
ifle 9
7: aload 0
new org.codehaus.plexus.util.SweeperPool$Sweeper
dup
aload 0
iload 4
invokespecial org.codehaus.plexus.util.SweeperPool$Sweeper.<init>:(Lorg/codehaus/plexus/util/SweeperPool;I)V
putfield org.codehaus.plexus.util.SweeperPool.sweeper:Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
8: aload 0
getfield org.codehaus.plexus.util.SweeperPool.sweeper:Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
invokevirtual org.codehaus.plexus.util.SweeperPool$Sweeper.start:()V
9: StackMap locals: org.codehaus.plexus.util.SweeperPool int int int int int
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/codehaus/plexus/util/SweeperPool;
0 10 1 maxSize I
0 10 2 minSize I
0 10 3 intialCapacity I
0 10 4 sweepInterval I
0 10 5 triggerSize I
MethodParameters:
Name Flags
maxSize
minSize
intialCapacity
sweepInterval
triggerSize
private int saneConvert(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/codehaus/plexus/util/SweeperPool;
0 3 1 value I
MethodParameters:
Name Flags
value
public synchronized java.lang.Object get();
descriptor: ()Ljava/lang/Object;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifeq 1
aload 0
getfield org.codehaus.plexus.util.SweeperPool.shuttingDown:Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
astore 1
start local 1 3: aload 0
aload 1
invokevirtual org.codehaus.plexus.util.SweeperPool.objectRetrieved:(Ljava/lang/Object;)V
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/codehaus/plexus/util/SweeperPool;
3 5 1 obj Ljava/lang/Object;
public synchronized boolean put(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.codehaus.plexus.util.SweeperPool.objectAdded:(Ljava/lang/Object;)V
1: aload 1
ifnull 4
aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 0
getfield org.codehaus.plexus.util.SweeperPool.maxSize:I
if_icmpge 4
aload 0
getfield org.codehaus.plexus.util.SweeperPool.shuttingDown:Z
ifne 4
2: aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
ifnull 6
5: aload 0
aload 1
invokevirtual org.codehaus.plexus.util.SweeperPool.objectDisposed:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/codehaus/plexus/util/SweeperPool;
0 7 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public synchronized int getSize();
descriptor: ()I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/SweeperPool;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.codehaus.plexus.util.SweeperPool.shuttingDown:Z
1: aload 0
getfield org.codehaus.plexus.util.SweeperPool.sweeper:Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
ifnull 8
2: aload 0
getfield org.codehaus.plexus.util.SweeperPool.sweeper:Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
invokevirtual org.codehaus.plexus.util.SweeperPool$Sweeper.stop:()V
3: aload 0
getfield org.codehaus.plexus.util.SweeperPool.sweeper:Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
invokevirtual org.codehaus.plexus.util.SweeperPool$Sweeper.join:()V
4: goto 8
5: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 1
start local 1 6: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Unexpected exception occurred: "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 1
invokevirtual java.lang.InterruptedException.printStackTrace:()V
end local 1 8: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
9: aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.toArray:()[Ljava/lang/Object;
astore 2
start local 2 10: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: org.codehaus.plexus.util.SweeperPool org.codehaus.plexus.util.SweeperPool java.lang.Object[] top int int java.lang.Object[]
StackMap stack:
11: aload 6
iload 4
aaload
astore 3
start local 3 12: aload 0
aload 3
invokevirtual org.codehaus.plexus.util.SweeperPool.objectDisposed:(Ljava/lang/Object;)V
end local 3 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 5
if_icmplt 11
15: aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
end local 2 16: aload 1
monitorexit
17: goto 20
StackMap locals: org.codehaus.plexus.util.SweeperPool org.codehaus.plexus.util.SweeperPool
StackMap stack: java.lang.Throwable
18: aload 1
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/codehaus/plexus/util/SweeperPool;
6 8 1 e Ljava/lang/InterruptedException;
10 16 2 objects [Ljava/lang/Object;
12 13 3 object Ljava/lang/Object;
Exception table:
from to target type
3 4 5 Class java.lang.InterruptedException
9 17 18 any
18 19 18 any
boolean isDisposed();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.codehaus.plexus.util.SweeperPool.shuttingDown:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.codehaus.plexus.util.SweeperPool.sweeper:Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.codehaus.plexus.util.SweeperPool.sweeper:Lorg/codehaus/plexus/util/SweeperPool$Sweeper;
invokevirtual org.codehaus.plexus.util.SweeperPool$Sweeper.hasStopped:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/codehaus/plexus/util/SweeperPool;
public synchronized void trim();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.codehaus.plexus.util.SweeperPool.triggerSize:I
ifle 1
aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 0
getfield org.codehaus.plexus.util.SweeperPool.triggerSize:I
if_icmpge 4
1: StackMap locals:
StackMap stack:
aload 0
getfield org.codehaus.plexus.util.SweeperPool.maxSize:I
ifle 5
aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 0
getfield org.codehaus.plexus.util.SweeperPool.maxSize:I
if_icmplt 5
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
invokevirtual org.codehaus.plexus.util.SweeperPool.objectDisposed:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.codehaus.plexus.util.SweeperPool.pooledObjects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 0
getfield org.codehaus.plexus.util.SweeperPool.minSize:I
if_icmpgt 3
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/codehaus/plexus/util/SweeperPool;
public void objectDisposed(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/SweeperPool;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public void objectAdded(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/SweeperPool;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public void objectRetrieved(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/codehaus/plexus/util/SweeperPool;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
}
SourceFile: "SweeperPool.java"
NestMembers:
org.codehaus.plexus.util.SweeperPool$Sweeper
InnerClasses:
private Sweeper = org.codehaus.plexus.util.SweeperPool$Sweeper of org.codehaus.plexus.util.SweeperPool