class sun.net.httpserver.SelectorCache$CacheCleaner extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.net.httpserver.SelectorCache$CacheCleaner
super_class: java.lang.Thread
{
final sun.net.httpserver.SelectorCache this$0;
descriptor: Lsun/net/httpserver/SelectorCache;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.net.httpserver.SelectorCache);
descriptor: (Lsun/net/httpserver/SelectorCache;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.net.httpserver.SelectorCache$CacheCleaner.this$0:Lsun/net/httpserver/SelectorCache;
aload 0
invokespecial java.lang.Thread.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/httpserver/SelectorCache$CacheCleaner;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: invokestatic sun.net.httpserver.ServerConfig.getSelCacheTimeout:()J
ldc 1000
lmul
lstore 1
start local 1 1: StackMap locals: long
StackMap stack:
lload 1
invokestatic java.lang.Thread.sleep:(J)V
2: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
3: pop
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.httpserver.SelectorCache$CacheCleaner.this$0:Lsun/net/httpserver/SelectorCache;
getfield sun.net.httpserver.SelectorCache.freeSelectors:Ljava/util/LinkedList;
dup
astore 3
monitorenter
5: aload 0
getfield sun.net.httpserver.SelectorCache$CacheCleaner.this$0:Lsun/net/httpserver/SelectorCache;
getfield sun.net.httpserver.SelectorCache.freeSelectors:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.listIterator:()Ljava/util/ListIterator;
astore 4
start local 4 6: goto 15
7: StackMap locals: java.util.LinkedList java.util.ListIterator
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast sun.net.httpserver.SelectorCache$SelectorWrapper
astore 5
start local 5 8: aload 5
invokevirtual sun.net.httpserver.SelectorCache$SelectorWrapper.getDeleteFlag:()Z
ifeq 14
9: aload 5
invokevirtual sun.net.httpserver.SelectorCache$SelectorWrapper.getSelector:()Ljava/nio/channels/Selector;
invokevirtual java.nio.channels.Selector.close:()V
10: goto 12
StackMap locals: sun.net.httpserver.SelectorCache$CacheCleaner long java.util.LinkedList java.util.ListIterator sun.net.httpserver.SelectorCache$SelectorWrapper
StackMap stack: java.io.IOException
11: pop
12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.remove:()V
13: goto 15
14: StackMap locals:
StackMap stack:
aload 5
iconst_1
invokevirtual sun.net.httpserver.SelectorCache$SelectorWrapper.setDeleteFlag:(Z)V
end local 5 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 7
end local 4 16: aload 3
monitorexit
17: goto 1
StackMap locals: sun.net.httpserver.SelectorCache$CacheCleaner long java.util.LinkedList
StackMap stack: java.lang.Throwable
18: aload 3
monitorexit
19: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/net/httpserver/SelectorCache$CacheCleaner;
1 20 1 timeout J
6 16 4 l Ljava/util/ListIterator<Lsun/net/httpserver/SelectorCache$SelectorWrapper;>;
8 15 5 w Lsun/net/httpserver/SelectorCache$SelectorWrapper;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
9 10 11 Class java.io.IOException
5 17 18 any
18 19 18 any
}
SourceFile: "SelectorCache.java"
NestHost: sun.net.httpserver.SelectorCache
InnerClasses:
CacheCleaner = sun.net.httpserver.SelectorCache$CacheCleaner of sun.net.httpserver.SelectorCache
private SelectorWrapper = sun.net.httpserver.SelectorCache$SelectorWrapper of sun.net.httpserver.SelectorCache