public class java.util.concurrent.ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.concurrent.ScheduledThreadPoolExecutor
super_class: java.util.concurrent.ThreadPoolExecutor
{
private volatile boolean continueExistingPeriodicTasksAfterShutdown;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean executeExistingDelayedTasksAfterShutdown;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
volatile boolean removeOnCancel;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
private static final java.util.concurrent.atomic.AtomicLong sequencer;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long DEFAULT_KEEPALIVE_MILLIS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putstatic java.util.concurrent.ScheduledThreadPoolExecutor.sequencer:Ljava/util/concurrent/atomic/AtomicLong;
1: return
LocalVariableTable:
Start End Slot Name Signature
boolean canRunInCurrentRunState(java.util.concurrent.RunnableScheduledFuture<?>);
descriptor: (Ljava/util/concurrent/RunnableScheduledFuture;)Z
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isShutdown:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isStopped:()Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.concurrent.RunnableScheduledFuture.isPeriodic:()Z
ifeq 6
5: aload 0
getfield java.util.concurrent.ScheduledThreadPoolExecutor.continueExistingPeriodicTasksAfterShutdown:Z
goto 10
6: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.ScheduledThreadPoolExecutor.executeExistingDelayedTasksAfterShutdown:Z
ifne 9
7: aload 1
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.RunnableScheduledFuture.getDelay:(Ljava/util/concurrent/TimeUnit;)J
lconst_0
8: lcmp
ifle 9
iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 11 1 task Ljava/util/concurrent/RunnableScheduledFuture<*>;
Signature: (Ljava/util/concurrent/RunnableScheduledFuture<*>;)Z
MethodParameters:
Name Flags
task
private void delayedExecute(java.util.concurrent.RunnableScheduledFuture<?>);
descriptor: (Ljava/util/concurrent/RunnableScheduledFuture;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isShutdown:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.reject:(Ljava/lang/Runnable;)V
goto 6
2: StackMap locals:
StackMap stack:
aload 0
invokespecial java.util.concurrent.ThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
aload 1
invokeinterface java.util.concurrent.BlockingQueue.add:(Ljava/lang/Object;)Z
pop
3: aload 0
aload 1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.canRunInCurrentRunState:(Ljava/util/concurrent/RunnableScheduledFuture;)Z
ifne 5
aload 0
aload 1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.remove:(Ljava/lang/Runnable;)Z
ifeq 5
4: aload 1
iconst_0
invokeinterface java.util.concurrent.RunnableScheduledFuture.cancel:(Z)Z
pop
goto 6
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.ensurePrestart:()V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 7 1 task Ljava/util/concurrent/RunnableScheduledFuture<*>;
Signature: (Ljava/util/concurrent/RunnableScheduledFuture<*>;)V
MethodParameters:
Name Flags
task
void reExecutePeriodic(java.util.concurrent.RunnableScheduledFuture<?>);
descriptor: (Ljava/util/concurrent/RunnableScheduledFuture;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.canRunInCurrentRunState:(Ljava/util/concurrent/RunnableScheduledFuture;)Z
ifeq 5
1: aload 0
invokespecial java.util.concurrent.ThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
aload 1
invokeinterface java.util.concurrent.BlockingQueue.add:(Ljava/lang/Object;)Z
pop
2: aload 0
aload 1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.canRunInCurrentRunState:(Ljava/util/concurrent/RunnableScheduledFuture;)Z
ifne 3
aload 0
aload 1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.remove:(Ljava/lang/Runnable;)Z
ifne 5
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.ensurePrestart:()V
4: return
5: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokeinterface java.util.concurrent.RunnableScheduledFuture.cancel:(Z)Z
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 7 1 task Ljava/util/concurrent/RunnableScheduledFuture<*>;
Signature: (Ljava/util/concurrent/RunnableScheduledFuture<*>;)V
MethodParameters:
Name Flags
task
void onShutdown();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
invokespecial java.util.concurrent.ThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
astore 1
start local 1 1: aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.getExecuteExistingDelayedTasksAfterShutdownPolicy:()Z
2: istore 2
start local 2 3: aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.getContinueExistingPeriodicTasksAfterShutdownPolicy:()Z
4: istore 3
start local 3 5: aload 1
invokeinterface java.util.concurrent.BlockingQueue.toArray:()[Ljava/lang/Object;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 16
StackMap locals: java.util.concurrent.ScheduledThreadPoolExecutor java.util.concurrent.BlockingQueue int int top int int java.lang.Object[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: aload 4
instanceof java.util.concurrent.RunnableScheduledFuture
ifeq 15
8: aload 4
checkcast java.util.concurrent.RunnableScheduledFuture
astore 8
start local 8 9: aload 8
invokeinterface java.util.concurrent.RunnableScheduledFuture.isPeriodic:()Z
ifeq 11
10: iload 3
ifeq 13
goto 12
11: StackMap locals: java.util.concurrent.ScheduledThreadPoolExecutor java.util.concurrent.BlockingQueue int int java.lang.Object int int java.lang.Object[] java.util.concurrent.RunnableScheduledFuture
StackMap stack:
iload 2
ifne 12
aload 8
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.RunnableScheduledFuture.getDelay:(Ljava/util/concurrent/TimeUnit;)J
lconst_0
lcmp
ifgt 13
12: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.concurrent.RunnableScheduledFuture.isCancelled:()Z
ifeq 15
13: StackMap locals:
StackMap stack:
aload 1
aload 8
invokeinterface java.util.concurrent.BlockingQueue.remove:(Ljava/lang/Object;)Z
ifeq 15
14: aload 8
iconst_0
invokeinterface java.util.concurrent.RunnableScheduledFuture.cancel:(Z)Z
pop
end local 8 end local 4 15: StackMap locals: java.util.concurrent.ScheduledThreadPoolExecutor java.util.concurrent.BlockingQueue int int top int int java.lang.Object[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 6
if_icmplt 6
17: aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.tryTerminate:()V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
1 19 1 q Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;
3 19 2 keepDelayed Z
5 19 3 keepPeriodic Z
7 15 4 e Ljava/lang/Object;
9 15 8 t Ljava/util/concurrent/RunnableScheduledFuture<*>;
protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.lang.Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
descriptor: (Ljava/lang/Runnable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 1 1 runnable Ljava/lang/Runnable;
0 1 2 task Ljava/util/concurrent/RunnableScheduledFuture<TV;>;
Signature: <V:Ljava/lang/Object;>(Ljava/lang/Runnable;Ljava/util/concurrent/RunnableScheduledFuture<TV;>;)Ljava/util/concurrent/RunnableScheduledFuture<TV;>;
MethodParameters:
Name Flags
runnable
task
protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
descriptor: (Ljava/util/concurrent/Callable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 1 1 callable Ljava/util/concurrent/Callable<TV;>;
0 1 2 task Ljava/util/concurrent/RunnableScheduledFuture<TV;>;
Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<TV;>;Ljava/util/concurrent/RunnableScheduledFuture<TV;>;)Ljava/util/concurrent/RunnableScheduledFuture<TV;>;
MethodParameters:
Name Flags
callable
task
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ldc 2147483647
1: ldc 10
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
2: new java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
dup
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.<init>:()V
invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V
3: aload 0
iconst_1
putfield java.util.concurrent.ScheduledThreadPoolExecutor.executeExistingDelayedTasksAfterShutdown:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 5 1 corePoolSize I
MethodParameters:
Name Flags
corePoolSize
public void <init>(int, java.util.concurrent.ThreadFactory);
descriptor: (ILjava/util/concurrent/ThreadFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
ldc 2147483647
1: ldc 10
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
2: new java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
dup
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.<init>:()V
aload 2
invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
3: aload 0
iconst_1
putfield java.util.concurrent.ScheduledThreadPoolExecutor.executeExistingDelayedTasksAfterShutdown:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 5 1 corePoolSize I
0 5 2 threadFactory Ljava/util/concurrent/ThreadFactory;
MethodParameters:
Name Flags
corePoolSize
threadFactory
public void <init>(int, java.util.concurrent.RejectedExecutionHandler);
descriptor: (ILjava/util/concurrent/RejectedExecutionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
ldc 2147483647
1: ldc 10
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
2: new java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
dup
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.<init>:()V
aload 2
invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/RejectedExecutionHandler;)V
3: aload 0
iconst_1
putfield java.util.concurrent.ScheduledThreadPoolExecutor.executeExistingDelayedTasksAfterShutdown:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 5 1 corePoolSize I
0 5 2 handler Ljava/util/concurrent/RejectedExecutionHandler;
MethodParameters:
Name Flags
corePoolSize
handler
public void <init>(int, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
descriptor: (ILjava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
ldc 2147483647
1: ldc 10
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
2: new java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
dup
invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.<init>:()V
aload 2
aload 3
invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
3: aload 0
iconst_1
putfield java.util.concurrent.ScheduledThreadPoolExecutor.executeExistingDelayedTasksAfterShutdown:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 5 1 corePoolSize I
0 5 2 threadFactory Ljava/util/concurrent/ThreadFactory;
0 5 3 handler Ljava/util/concurrent/RejectedExecutionHandler;
MethodParameters:
Name Flags
corePoolSize
threadFactory
handler
private long triggerTime(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aload 3
lload 1
lconst_0
lcmp
ifge 1
lconst_0
goto 2
StackMap locals: java.util.concurrent.ScheduledThreadPoolExecutor long java.util.concurrent.TimeUnit
StackMap stack: java.util.concurrent.ScheduledThreadPoolExecutor java.util.concurrent.TimeUnit
1: lload 1
StackMap locals: java.util.concurrent.ScheduledThreadPoolExecutor long java.util.concurrent.TimeUnit
StackMap stack: java.util.concurrent.ScheduledThreadPoolExecutor java.util.concurrent.TimeUnit long
2: invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.triggerTime:(J)J
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 3 1 delay J
0 3 3 unit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
delay
unit
long triggerTime(long);
descriptor: (J)J
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.nanoTime:()J
1: lload 1
ldc 4611686018427387903
lcmp
ifge 2
lload 1
goto 3
StackMap locals:
StackMap stack: long
2: aload 0
lload 1
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.overflowFree:(J)J
3: StackMap locals: java.util.concurrent.ScheduledThreadPoolExecutor long
StackMap stack: long long
ladd
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 4 1 delay J
MethodParameters:
Name Flags
delay
private long overflowFree(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.util.concurrent.ThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.peek:()Ljava/lang/Object;
checkcast java.util.concurrent.Delayed
astore 3
start local 3 1: aload 3
ifnull 5
2: aload 3
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.Delayed.getDelay:(Ljava/util/concurrent/TimeUnit;)J
lstore 4
start local 4 3: lload 4
lconst_0
lcmp
ifge 5
lload 1
lload 4
lsub
lconst_0
lcmp
ifge 5
4: ldc 9223372036854775807
lload 4
ladd
lstore 1
end local 4 5: StackMap locals: java.util.concurrent.Delayed
StackMap stack:
lload 1
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 6 1 delay J
1 6 3 head Ljava/util/concurrent/Delayed;
3 5 4 headDelay J
MethodParameters:
Name Flags
delay
public java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
ifnull 1
aload 4
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
3: new java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
dup
aload 0
aload 1
aconst_null
4: aload 0
lload 2
aload 4
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.triggerTime:(JLjava/util/concurrent/TimeUnit;)J
5: getstatic java.util.concurrent.ScheduledThreadPoolExecutor.sequencer:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
6: invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.<init>:(Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/lang/Runnable;Ljava/lang/Object;JJ)V
7: invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.decorateTask:(Ljava/lang/Runnable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
astore 5
start local 5 8: aload 0
aload 5
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute:(Ljava/util/concurrent/RunnableScheduledFuture;)V
9: aload 5
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 10 1 command Ljava/lang/Runnable;
0 10 2 delay J
0 10 4 unit Ljava/util/concurrent/TimeUnit;
8 10 5 t Ljava/util/concurrent/RunnableScheduledFuture<Ljava/lang/Void;>;
Signature: (Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
MethodParameters:
Name Flags
command
delay
unit
public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
ifnull 1
aload 4
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
3: new java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
dup
aload 0
aload 1
4: aload 0
lload 2
aload 4
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.triggerTime:(JLjava/util/concurrent/TimeUnit;)J
5: getstatic java.util.concurrent.ScheduledThreadPoolExecutor.sequencer:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
6: invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.<init>:(Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/util/concurrent/Callable;JJ)V
7: invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.decorateTask:(Ljava/util/concurrent/Callable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
astore 5
start local 5 8: aload 0
aload 5
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute:(Ljava/util/concurrent/RunnableScheduledFuture;)V
9: aload 5
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 10 1 callable Ljava/util/concurrent/Callable<TV;>;
0 10 2 delay J
0 10 4 unit Ljava/util/concurrent/TimeUnit;
8 10 5 t Ljava/util/concurrent/RunnableScheduledFuture<TV;>;
Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<TV;>;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<TV;>;
MethodParameters:
Name Flags
callable
delay
unit
public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 1
ifnull 1
aload 6
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifgt 4
3: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
new java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
dup
aload 0
aload 1
5: aconst_null
6: aload 0
lload 2
aload 6
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.triggerTime:(JLjava/util/concurrent/TimeUnit;)J
7: aload 6
lload 4
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
8: getstatic java.util.concurrent.ScheduledThreadPoolExecutor.sequencer:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
9: invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.<init>:(Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/lang/Runnable;Ljava/lang/Object;JJJ)V
10: astore 7
start local 7 11: aload 0
aload 1
aload 7
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.decorateTask:(Ljava/lang/Runnable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
astore 8
start local 8 12: aload 7
aload 8
putfield java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.outerTask:Ljava/util/concurrent/RunnableScheduledFuture;
13: aload 0
aload 8
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute:(Ljava/util/concurrent/RunnableScheduledFuture;)V
14: aload 8
areturn
end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 15 1 command Ljava/lang/Runnable;
0 15 2 initialDelay J
0 15 4 period J
0 15 6 unit Ljava/util/concurrent/TimeUnit;
11 15 7 sft Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask<Ljava/lang/Void;>;
12 15 8 t Ljava/util/concurrent/RunnableScheduledFuture<Ljava/lang/Void;>;
Signature: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
MethodParameters:
Name Flags
command
initialDelay
period
unit
public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 1
ifnull 1
aload 6
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifgt 4
3: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
new java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
dup
aload 0
aload 1
5: aconst_null
6: aload 0
lload 2
aload 6
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.triggerTime:(JLjava/util/concurrent/TimeUnit;)J
7: aload 6
lload 4
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lneg
8: getstatic java.util.concurrent.ScheduledThreadPoolExecutor.sequencer:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
9: invokespecial java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.<init>:(Ljava/util/concurrent/ScheduledThreadPoolExecutor;Ljava/lang/Runnable;Ljava/lang/Object;JJJ)V
10: astore 7
start local 7 11: aload 0
aload 1
aload 7
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.decorateTask:(Ljava/lang/Runnable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;
astore 8
start local 8 12: aload 7
aload 8
putfield java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.outerTask:Ljava/util/concurrent/RunnableScheduledFuture;
13: aload 0
aload 8
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute:(Ljava/util/concurrent/RunnableScheduledFuture;)V
14: aload 8
areturn
end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 15 1 command Ljava/lang/Runnable;
0 15 2 initialDelay J
0 15 4 delay J
0 15 6 unit Ljava/util/concurrent/TimeUnit;
11 15 7 sft Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask<Ljava/lang/Void;>;
12 15 8 t Ljava/util/concurrent/RunnableScheduledFuture<Ljava/lang/Void;>;
Signature: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
MethodParameters:
Name Flags
command
initialDelay
delay
unit
public void execute(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
lconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 2 1 command Ljava/lang/Runnable;
MethodParameters:
Name Flags
command
public java.util.concurrent.Future<?> submit(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
lconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 1 1 task Ljava/lang/Runnable;
Signature: (Ljava/lang/Runnable;)Ljava/util/concurrent/Future<*>;
MethodParameters:
Name Flags
task
public <T> java.util.concurrent.Future<T> submit(java.lang.Runnable, T);
descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic java.util.concurrent.Executors.callable:(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
lconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 1 1 task Ljava/lang/Runnable;
0 1 2 result TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Runnable;TT;)Ljava/util/concurrent/Future<TT;>;
MethodParameters:
Name Flags
task
result
public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
descriptor: (Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
lconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 1 1 task Ljava/util/concurrent/Callable<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<TT;>;)Ljava/util/concurrent/Future<TT;>;
MethodParameters:
Name Flags
task
public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.util.concurrent.ScheduledThreadPoolExecutor.continueExistingPeriodicTasksAfterShutdown:Z
1: iload 1
ifne 3
aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isShutdown:()Z
ifeq 3
2: aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.onShutdown:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 4 1 value Z
MethodParameters:
Name Flags
value
public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ScheduledThreadPoolExecutor.continueExistingPeriodicTasksAfterShutdown:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.util.concurrent.ScheduledThreadPoolExecutor.executeExistingDelayedTasksAfterShutdown:Z
1: iload 1
ifne 3
aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.isShutdown:()Z
ifeq 3
2: aload 0
invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.onShutdown:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 4 1 value Z
MethodParameters:
Name Flags
value
public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ScheduledThreadPoolExecutor.executeExistingDelayedTasksAfterShutdown:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
public void setRemoveOnCancelPolicy(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.util.concurrent.ScheduledThreadPoolExecutor.removeOnCancel:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
0 2 1 value Z
MethodParameters:
Name Flags
value
public boolean getRemoveOnCancelPolicy();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.ScheduledThreadPoolExecutor.removeOnCancel:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.concurrent.ThreadPoolExecutor.shutdown:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
public java.util.List<java.lang.Runnable> shutdownNow();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.concurrent.ThreadPoolExecutor.shutdownNow:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
Signature: ()Ljava/util/List<Ljava/lang/Runnable;>;
public java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue();
descriptor: ()Ljava/util/concurrent/BlockingQueue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.concurrent.ThreadPoolExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/ScheduledThreadPoolExecutor;
Signature: ()Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;
}
SourceFile: "ScheduledThreadPoolExecutor.java"
NestMembers:
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
InnerClasses:
DelayedWorkQueue = java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue of java.util.concurrent.ScheduledThreadPoolExecutor
private ScheduledFutureTask = java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask of java.util.concurrent.ScheduledThreadPoolExecutor