class sun.net.www.http.ClientVector extends java.util.ArrayDeque<sun.net.www.http.KeepAliveEntry>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.net.www.http.ClientVector
super_class: java.util.ArrayDeque
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -8680532108106489459
private final java.util.concurrent.locks.ReentrantLock lock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
int nap;
descriptor: I
flags: (0x0000)
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.util.ArrayDeque.<init>:()V
1: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.net.www.http.ClientVector.lock:Ljava/util/concurrent/locks/ReentrantLock;
2: aload 0
iload 1
putfield sun.net.www.http.ClientVector.nap:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/net/www/http/ClientVector;
0 4 1 nap I
MethodParameters:
Name Flags
nap
sun.net.www.http.HttpClient get();
descriptor: ()Lsun/net/www/http/HttpClient;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual sun.net.www.http.ClientVector.lock:()V
1: aload 0
invokevirtual sun.net.www.http.ClientVector.isEmpty:()Z
ifeq 4
2: aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 5: invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 6: StackMap locals: sun.net.www.http.HttpClient long
StackMap stack:
aload 0
invokevirtual sun.net.www.http.ClientVector.pop:()Ljava/lang/Object;
checkcast sun.net.www.http.KeepAliveEntry
astore 4
start local 4 7: lload 2
aload 4
getfield sun.net.www.http.KeepAliveEntry.idleStartTime:J
lsub
aload 0
getfield sun.net.www.http.ClientVector.nap:I
i2l
lcmp
ifle 10
8: aload 4
getfield sun.net.www.http.KeepAliveEntry.hc:Lsun/net/www/http/HttpClient;
invokevirtual sun.net.www.http.HttpClient.closeServer:()V
9: goto 11
10: StackMap locals: sun.net.www.http.KeepAliveEntry
StackMap stack:
aload 4
getfield sun.net.www.http.KeepAliveEntry.hc:Lsun/net/www/http/HttpClient;
astore 1
end local 4 11: StackMap locals:
StackMap stack:
aload 1
ifnonnull 12
aload 0
invokevirtual sun.net.www.http.ClientVector.isEmpty:()Z
ifeq 6
12: StackMap locals:
StackMap stack:
aload 1
astore 6
13: aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
14: aload 6
areturn
end local 2 end local 1 15: StackMap locals: sun.net.www.http.ClientVector
StackMap stack: java.lang.Throwable
astore 5
16: aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
17: aload 5
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/net/www/http/ClientVector;
5 15 1 hc Lsun/net/www/http/HttpClient;
6 15 2 currentTime J
7 11 4 e Lsun/net/www/http/KeepAliveEntry;
Exception table:
from to target type
1 2 15 any
4 13 15 any
void put(sun.net.www.http.HttpClient);
descriptor: (Lsun/net/www/http/HttpClient;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.net.www.http.ClientVector.lock:()V
1: aload 0
invokevirtual sun.net.www.http.ClientVector.size:()I
invokestatic sun.net.www.http.KeepAliveCache.getMaxConnections:()I
if_icmplt 4
2: aload 1
invokevirtual sun.net.www.http.HttpClient.closeServer:()V
3: goto 9
4: StackMap locals:
StackMap stack:
aload 0
new sun.net.www.http.KeepAliveEntry
dup
aload 1
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial sun.net.www.http.KeepAliveEntry.<init>:(Lsun/net/www/http/HttpClient;J)V
invokevirtual sun.net.www.http.ClientVector.push:(Ljava/lang/Object;)V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
8: aload 2
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/net/www/http/ClientVector;
0 11 1 h Lsun/net/www/http/HttpClient;
Exception table:
from to target type
1 6 6 any
MethodParameters:
Name Flags
h
boolean remove(sun.net.www.http.HttpClient);
descriptor: (Lsun/net/www/http/HttpClient;)Z
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.net.www.http.ClientVector.lock:()V
1: aload 0
invokevirtual sun.net.www.http.ClientVector.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: sun.net.www.http.ClientVector sun.net.www.http.HttpClient top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.net.www.http.KeepAliveEntry
astore 2
start local 2 3: aload 2
getfield sun.net.www.http.KeepAliveEntry.hc:Lsun/net/www/http/HttpClient;
aload 1
if_acmpne 7
4: aload 0
aload 2
invokespecial java.util.ArrayDeque.remove:(Ljava/lang/Object;)Z
istore 5
5: aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
6: iload 5
ireturn
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
9: iconst_0
ireturn
10: StackMap locals: sun.net.www.http.ClientVector sun.net.www.http.HttpClient
StackMap stack: java.lang.Throwable
astore 4
11: aload 0
invokevirtual sun.net.www.http.ClientVector.unlock:()V
12: aload 4
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/net/www/http/ClientVector;
0 13 1 h Lsun/net/www/http/HttpClient;
3 7 2 curr Lsun/net/www/http/KeepAliveEntry;
Exception table:
from to target type
1 5 10 any
7 8 10 any
MethodParameters:
Name Flags
h
final void lock();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.http.ClientVector.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/http/ClientVector;
final void unlock();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.net.www.http.ClientVector.lock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/net/www/http/ClientVector;
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.io.NotSerializableException
dup
invokespecial java.io.NotSerializableException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/http/ClientVector;
0 1 1 stream Ljava/io/ObjectOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.io.NotSerializableException
dup
invokespecial java.io.NotSerializableException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/http/ClientVector;
0 1 1 stream Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
stream
}
Signature: Ljava/util/ArrayDeque<Lsun/net/www/http/KeepAliveEntry;>;
SourceFile: "KeepAliveCache.java"