public final class java.util.concurrent.TimeUnit extends java.lang.Enum<java.util.concurrent.TimeUnit>
minor version: 0
major version: 59
flags: flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
this_class: java.util.concurrent.TimeUnit
super_class: java.lang.Enum
{
public static final java.util.concurrent.TimeUnit NANOSECONDS;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final java.util.concurrent.TimeUnit MICROSECONDS;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final java.util.concurrent.TimeUnit MILLISECONDS;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final java.util.concurrent.TimeUnit SECONDS;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final java.util.concurrent.TimeUnit MINUTES;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final java.util.concurrent.TimeUnit HOURS;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
public static final java.util.concurrent.TimeUnit DAYS;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION
private static final long NANO_SCALE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final long MICRO_SCALE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private static final long MILLI_SCALE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000000
private static final long SECOND_SCALE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000000000
private static final long MINUTE_SCALE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 60000000000
private static final long HOUR_SCALE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3600000000000
private static final long DAY_SCALE;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 86400000000000
private final long scale;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxNanos;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxMicros;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxMillis;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxSecs;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long microRatio;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int milliRatio;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int secRatio;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$java$util$concurrent$TimeUnit;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$java$time$temporal$ChronoUnit;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static final java.util.concurrent.TimeUnit[] ENUM$VALUES;
descriptor: [Ljava/util/concurrent/TimeUnit;
flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new java.util.concurrent.TimeUnit
dup
ldc "NANOSECONDS"
iconst_0
1: lconst_1
invokespecial java.util.concurrent.TimeUnit.<init>:(Ljava/lang/String;IJ)V
putstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
2: new java.util.concurrent.TimeUnit
dup
ldc "MICROSECONDS"
iconst_1
3: ldc 1000
invokespecial java.util.concurrent.TimeUnit.<init>:(Ljava/lang/String;IJ)V
putstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
4: new java.util.concurrent.TimeUnit
dup
ldc "MILLISECONDS"
iconst_2
5: ldc 1000000
invokespecial java.util.concurrent.TimeUnit.<init>:(Ljava/lang/String;IJ)V
putstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
6: new java.util.concurrent.TimeUnit
dup
ldc "SECONDS"
iconst_3
7: ldc 1000000000
invokespecial java.util.concurrent.TimeUnit.<init>:(Ljava/lang/String;IJ)V
putstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
8: new java.util.concurrent.TimeUnit
dup
ldc "MINUTES"
iconst_4
9: ldc 60000000000
invokespecial java.util.concurrent.TimeUnit.<init>:(Ljava/lang/String;IJ)V
putstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
10: new java.util.concurrent.TimeUnit
dup
ldc "HOURS"
iconst_5
11: ldc 3600000000000
invokespecial java.util.concurrent.TimeUnit.<init>:(Ljava/lang/String;IJ)V
putstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
12: new java.util.concurrent.TimeUnit
dup
ldc "DAYS"
bipush 6
13: ldc 86400000000000
invokespecial java.util.concurrent.TimeUnit.<init>:(Ljava/lang/String;IJ)V
putstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
bipush 7
anewarray java.util.concurrent.TimeUnit
dup
iconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
aastore
dup
iconst_1
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
aastore
dup
iconst_2
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
aastore
dup
iconst_3
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
aastore
dup
iconst_4
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
aastore
dup
iconst_5
getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
aastore
dup
bipush 6
getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
aastore
putstatic java.util.concurrent.TimeUnit.ENUM$VALUES:[Ljava/util/concurrent/TimeUnit;
14: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.String, int, long);
descriptor: (Ljava/lang/String;IJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 3 0: aload 0
aload 1
iload 2
invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
1: aload 0
lload 3
putfield java.util.concurrent.TimeUnit.scale:J
2: aload 0
ldc 9223372036854775807
lload 3
ldiv
putfield java.util.concurrent.TimeUnit.maxNanos:J
3: lload 3
ldc 1000
lcmp
iflt 4
lload 3
ldc 1000
ldiv
goto 5
StackMap locals: java.util.concurrent.TimeUnit java.lang.String int long
StackMap stack:
4: ldc 1000
lload 3
ldiv
StackMap locals:
StackMap stack: long
5: lstore 5
start local 5 6: aload 0
lload 5
putfield java.util.concurrent.TimeUnit.microRatio:J
7: aload 0
ldc 9223372036854775807
lload 5
ldiv
putfield java.util.concurrent.TimeUnit.maxMicros:J
8: lload 3
ldc 1000000
lcmp
iflt 9
lload 3
ldc 1000000
ldiv
goto 10
StackMap locals: long
StackMap stack:
9: ldc 1000000
lload 3
ldiv
StackMap locals:
StackMap stack: long
10: lstore 7
start local 7 11: aload 0
lload 7
l2i
putfield java.util.concurrent.TimeUnit.milliRatio:I
12: aload 0
ldc 9223372036854775807
lload 7
ldiv
putfield java.util.concurrent.TimeUnit.maxMillis:J
13: lload 3
ldc 1000000000
lcmp
iflt 14
lload 3
ldc 1000000000
ldiv
goto 15
StackMap locals: long
StackMap stack:
14: ldc 1000000000
lload 3
ldiv
StackMap locals:
StackMap stack: long
15: lstore 9
start local 9 16: aload 0
lload 9
l2i
putfield java.util.concurrent.TimeUnit.secRatio:I
17: aload 0
ldc 9223372036854775807
lload 9
ldiv
putfield java.util.concurrent.TimeUnit.maxSecs:J
18: return
end local 9 end local 7 end local 5 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/util/concurrent/TimeUnit;
0 19 3 s J
6 19 5 ur J
11 19 7 mr J
16 19 9 sr J
MethodParameters:
Name Flags
$enum$name
$enum$ordinal
s
private static long cvt(long, long, long);
descriptor: (JJJ)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=3
start local 0 start local 2 start local 4 0: lload 4
lload 2
lcmp
ifne 2
1: lload 0
lreturn
2: StackMap locals:
StackMap stack:
lload 4
lload 2
lcmp
ifge 4
3: lload 0
lload 2
lload 4
ldiv
ldiv
lreturn
4: StackMap locals:
StackMap stack:
lload 0
ldc 9223372036854775807
lload 4
lload 2
ldiv
dup2
lstore 6
start local 6 5: ldiv
dup2
lstore 8
start local 8 6: lcmp
ifle 8
7: ldc 9223372036854775807
lreturn
8: StackMap locals: long long
StackMap stack:
lload 0
lload 8
lneg
lcmp
ifge 10
9: ldc -9223372036854775808
lreturn
10: StackMap locals:
StackMap stack:
lload 0
lload 6
lmul
lreturn
end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 d J
0 11 2 dst J
0 11 4 src J
5 11 6 r J
6 11 8 m J
MethodParameters:
Name Flags
d
dst
src
public long convert(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 3 0: invokestatic java.util.concurrent.TimeUnit.$SWITCH_TABLE$java$util$concurrent$TimeUnit:()[I
aload 0
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 2
3: 3
4: 4
default: 5
}
1: StackMap locals:
StackMap stack:
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lreturn
2: StackMap locals:
StackMap stack:
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMicros:(J)J
lreturn
3: StackMap locals:
StackMap stack:
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lreturn
4: StackMap locals:
StackMap stack:
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
lreturn
5: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.scale:J
aload 3
getfield java.util.concurrent.TimeUnit.scale:J
invokestatic java.util.concurrent.TimeUnit.cvt:(JJJ)J
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/TimeUnit;
0 6 1 sourceDuration J
0 6 3 sourceUnit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
sourceDuration
sourceUnit
public long convert(java.time.Duration);
descriptor: (Ljava/time/Duration;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.time.Duration.getSeconds:()J
lstore 2
start local 2 1: aload 1
invokevirtual java.time.Duration.getNano:()I
istore 4
start local 4 2: lload 2
lconst_0
lcmp
ifge 5
iload 4
ifle 5
3: lload 2
lconst_1
ladd
lstore 2
4: iload 4
ldc 1000000000
isub
istore 4
5: StackMap locals: long int
StackMap stack:
aload 0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
if_acmpne 8
6: iload 4
i2l
lstore 7
start local 7 7: goto 15
end local 7 8: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.TimeUnit.scale:J
dup2
lstore 5
start local 5 9: ldc 1000000000
lcmp
ifge 12
10: iload 4
i2l
lload 5
ldiv
lstore 7
start local 7 11: goto 15
end local 7 12: StackMap locals: long
StackMap stack:
aload 0
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
if_acmpne 14
13: lload 2
lreturn
14: StackMap locals:
StackMap stack:
lload 2
aload 0
getfield java.util.concurrent.TimeUnit.secRatio:I
i2l
ldiv
lreturn
end local 5 start local 7 15: StackMap locals: java.util.concurrent.TimeUnit java.time.Duration long int top top long
StackMap stack:
lload 2
aload 0
getfield java.util.concurrent.TimeUnit.secRatio:I
i2l
lmul
lload 7
ladd
lstore 9
start local 9 16: lload 2
aload 0
getfield java.util.concurrent.TimeUnit.maxSecs:J
lcmp
ifge 17
lload 2
aload 0
getfield java.util.concurrent.TimeUnit.maxSecs:J
lneg
lcmp
ifgt 19
17: StackMap locals: long
StackMap stack:
lload 2
aload 0
getfield java.util.concurrent.TimeUnit.maxSecs:J
lcmp
ifne 18
lload 9
lconst_0
lcmp
ifgt 19
18: StackMap locals:
StackMap stack:
lload 2
aload 0
getfield java.util.concurrent.TimeUnit.maxSecs:J
lneg
lcmp
ifne 20
lload 9
lconst_0
lcmp
ifge 20
19: StackMap locals:
StackMap stack:
lload 9
goto 22
20: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifle 21
ldc 9223372036854775807
goto 22
StackMap locals:
StackMap stack:
21: ldc -9223372036854775808
22: StackMap locals:
StackMap stack: long
lreturn
end local 9 end local 7 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/util/concurrent/TimeUnit;
0 23 1 duration Ljava/time/Duration;
1 23 2 secs J
2 23 4 nano I
9 15 5 s J
7 8 7 nanoVal J
11 12 7 nanoVal J
15 23 7 nanoVal J
16 23 9 val J
MethodParameters:
Name Flags
duration
public long toNanos(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.concurrent.TimeUnit.scale:J
dup2
lstore 3
start local 3 1: lconst_1
lcmp
ifne 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.maxNanos:J
dup2
lstore 5
start local 5 4: lcmp
ifle 6
5: ldc 9223372036854775807
lreturn
6: StackMap locals: long
StackMap stack:
lload 1
lload 5
lneg
lcmp
ifge 8
7: ldc -9223372036854775808
lreturn
8: StackMap locals:
StackMap stack:
lload 1
lload 3
lmul
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/concurrent/TimeUnit;
0 9 1 duration J
1 9 3 s J
4 9 5 m J
MethodParameters:
Name Flags
duration
public long toMicros(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.concurrent.TimeUnit.scale:J
dup2
lstore 3
start local 3 1: ldc 1000
lcmp
ifgt 5
2: lload 3
ldc 1000
lcmp
ifne 3
lload 1
goto 4
StackMap locals: long
StackMap stack:
3: lload 1
aload 0
getfield java.util.concurrent.TimeUnit.microRatio:J
ldiv
StackMap locals:
StackMap stack: long
4: lreturn
5: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.maxMicros:J
dup2
lstore 5
start local 5 6: lcmp
ifle 8
7: ldc 9223372036854775807
lreturn
8: StackMap locals: long
StackMap stack:
lload 1
lload 5
lneg
lcmp
ifge 10
9: ldc -9223372036854775808
lreturn
10: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.microRatio:J
lmul
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/concurrent/TimeUnit;
0 11 1 duration J
1 11 3 s J
6 11 5 m J
MethodParameters:
Name Flags
duration
public long toMillis(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.concurrent.TimeUnit.scale:J
dup2
lstore 3
start local 3 1: ldc 1000000
lcmp
ifgt 5
2: lload 3
ldc 1000000
lcmp
ifne 3
lload 1
goto 4
StackMap locals: long
StackMap stack:
3: lload 1
aload 0
getfield java.util.concurrent.TimeUnit.milliRatio:I
i2l
ldiv
StackMap locals:
StackMap stack: long
4: lreturn
5: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.maxMillis:J
dup2
lstore 5
start local 5 6: lcmp
ifle 8
7: ldc 9223372036854775807
lreturn
8: StackMap locals: long
StackMap stack:
lload 1
lload 5
lneg
lcmp
ifge 10
9: ldc -9223372036854775808
lreturn
10: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.milliRatio:I
i2l
lmul
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/concurrent/TimeUnit;
0 11 1 duration J
1 11 3 s J
6 11 5 m J
MethodParameters:
Name Flags
duration
public long toSeconds(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.concurrent.TimeUnit.scale:J
dup2
lstore 3
start local 3 1: ldc 1000000000
lcmp
ifgt 5
2: lload 3
ldc 1000000000
lcmp
ifne 3
lload 1
goto 4
StackMap locals: long
StackMap stack:
3: lload 1
aload 0
getfield java.util.concurrent.TimeUnit.secRatio:I
i2l
ldiv
StackMap locals:
StackMap stack: long
4: lreturn
5: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.maxSecs:J
dup2
lstore 5
start local 5 6: lcmp
ifle 8
7: ldc 9223372036854775807
lreturn
8: StackMap locals: long
StackMap stack:
lload 1
lload 5
lneg
lcmp
ifge 10
9: ldc -9223372036854775808
lreturn
10: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield java.util.concurrent.TimeUnit.secRatio:I
i2l
lmul
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/concurrent/TimeUnit;
0 11 1 duration J
1 11 3 s J
6 11 5 m J
MethodParameters:
Name Flags
duration
public long toMinutes(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: lload 1
ldc 60000000000
aload 0
getfield java.util.concurrent.TimeUnit.scale:J
invokestatic java.util.concurrent.TimeUnit.cvt:(JJJ)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/TimeUnit;
0 1 1 duration J
MethodParameters:
Name Flags
duration
public long toHours(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: lload 1
ldc 3600000000000
aload 0
getfield java.util.concurrent.TimeUnit.scale:J
invokestatic java.util.concurrent.TimeUnit.cvt:(JJJ)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/TimeUnit;
0 1 1 duration J
MethodParameters:
Name Flags
duration
public long toDays(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: lload 1
ldc 86400000000000
aload 0
getfield java.util.concurrent.TimeUnit.scale:J
invokestatic java.util.concurrent.TimeUnit.cvt:(JJJ)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/TimeUnit;
0 1 1 duration J
MethodParameters:
Name Flags
duration
private int excessNanos(long, long);
descriptor: (JJ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield java.util.concurrent.TimeUnit.scale:J
dup2
lstore 5
start local 5 1: lconst_1
lcmp
ifne 3
2: lload 1
lload 3
ldc 1000000
lmul
lsub
l2i
ireturn
3: StackMap locals: long
StackMap stack:
lload 5
ldc 1000
lcmp
ifne 5
4: lload 1
ldc 1000
lmul
lload 3
ldc 1000000
lmul
lsub
l2i
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/TimeUnit;
0 6 1 d J
0 6 3 m J
1 6 5 s J
MethodParameters:
Name Flags
d
m
public void timedWait(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: lload 2
lconst_0
lcmp
ifle 4
1: aload 0
lload 2
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 4
start local 4 2: aload 0
lload 2
lload 4
invokevirtual java.util.concurrent.TimeUnit.excessNanos:(JJ)I
istore 6
start local 6 3: aload 1
lload 4
iload 6
invokevirtual java.lang.Object.wait:(JI)V
end local 6 end local 4 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/TimeUnit;
0 5 1 obj Ljava/lang/Object;
0 5 2 timeout J
2 4 4 ms J
3 4 6 ns I
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
obj
timeout
public void timedJoin(java.lang.Thread, long);
descriptor: (Ljava/lang/Thread;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: lload 2
lconst_0
lcmp
ifle 4
1: aload 0
lload 2
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 4
start local 4 2: aload 0
lload 2
lload 4
invokevirtual java.util.concurrent.TimeUnit.excessNanos:(JJ)I
istore 6
start local 6 3: aload 1
lload 4
iload 6
invokevirtual java.lang.Thread.join:(JI)V
end local 6 end local 4 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/TimeUnit;
0 5 1 thread Ljava/lang/Thread;
0 5 2 timeout J
2 4 4 ms J
3 4 6 ns I
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
thread
timeout
public void sleep(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifle 4
1: aload 0
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 3
start local 3 2: aload 0
lload 1
lload 3
invokevirtual java.util.concurrent.TimeUnit.excessNanos:(JJ)I
istore 5
start local 5 3: lload 3
iload 5
invokestatic java.lang.Thread.sleep:(JI)V
end local 5 end local 3 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/TimeUnit;
0 5 1 timeout J
2 4 3 ms J
3 4 5 ns I
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
public java.time.temporal.ChronoUnit toChronoUnit();
descriptor: ()Ljava/time/temporal/ChronoUnit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic java.util.concurrent.TimeUnit.$SWITCH_TABLE$java$util$concurrent$TimeUnit:()[I
aload 0
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iaload
tableswitch { // 1 - 7
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
default: 8
}
1: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
areturn
2: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.MICROS:Ljava/time/temporal/ChronoUnit;
areturn
3: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.MILLIS:Ljava/time/temporal/ChronoUnit;
areturn
4: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
areturn
5: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.MINUTES:Ljava/time/temporal/ChronoUnit;
areturn
6: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.HOURS:Ljava/time/temporal/ChronoUnit;
areturn
7: StackMap locals:
StackMap stack:
getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/concurrent/TimeUnit;
public static java.util.concurrent.TimeUnit of(java.time.temporal.ChronoUnit);
descriptor: (Ljava/time/temporal/ChronoUnit;)Ljava/util/concurrent/TimeUnit;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: invokestatic java.util.concurrent.TimeUnit.$SWITCH_TABLE$java$time$temporal$ChronoUnit:()[I
aload 0
ldc "chronoUnit"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.time.temporal.ChronoUnit
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 8
8: 7
default: 8
}
1: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
areturn
2: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
areturn
3: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
areturn
4: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
areturn
5: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
areturn
6: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
areturn
7: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
9: new java.lang.StringBuilder
dup
ldc "No TimeUnit equivalent for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 chronoUnit Ljava/time/temporal/ChronoUnit;
MethodParameters:
Name Flags
chronoUnit
public static java.util.concurrent.TimeUnit[] values();
descriptor: ()[Ljava/util/concurrent/TimeUnit;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: getstatic java.util.concurrent.TimeUnit.ENUM$VALUES:[Ljava/util/concurrent/TimeUnit;
dup
astore 0
iconst_0
aload 0
arraylength
dup
istore 1
anewarray java.util.concurrent.TimeUnit
dup
astore 2
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
aload 2
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.util.concurrent.TimeUnit valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/concurrent/TimeUnit;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: ldc Ljava/util/concurrent/TimeUnit;
aload 0
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast java.util.concurrent.TimeUnit
areturn
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
name
static int[] $SWITCH_TABLE$java$util$concurrent$TimeUnit();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic java.util.concurrent.TimeUnit.$SWITCH_TABLE$java$util$concurrent$TimeUnit:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.util.concurrent.TimeUnit.values:()[Ljava/util/concurrent/TimeUnit;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
bipush 7
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
bipush 6
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.ordinal:()I
iconst_4
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic java.util.concurrent.TimeUnit.$SWITCH_TABLE$java$util$concurrent$TimeUnit:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$java$time$temporal$ChronoUnit();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic java.util.concurrent.TimeUnit.$SWITCH_TABLE$java$time$temporal$ChronoUnit:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic java.time.temporal.ChronoUnit.values:()[Ljava/time/temporal/ChronoUnit;
arraylength
newarray 10
astore 0
2: aload 0
getstatic java.time.temporal.ChronoUnit.CENTURIES:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 13
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 8
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic java.time.temporal.ChronoUnit.DECADES:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 12
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic java.time.temporal.ChronoUnit.ERAS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 15
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic java.time.temporal.ChronoUnit.FOREVER:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 16
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic java.time.temporal.ChronoUnit.HALF_DAYS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 7
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic java.time.temporal.ChronoUnit.HOURS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 6
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic java.time.temporal.ChronoUnit.MICROS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
iconst_2
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic java.time.temporal.ChronoUnit.MILLENNIA:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 14
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic java.time.temporal.ChronoUnit.MILLIS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic java.time.temporal.ChronoUnit.MINUTES:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
iconst_5
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic java.time.temporal.ChronoUnit.MONTHS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 10
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic java.time.temporal.ChronoUnit.NANOS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
iconst_1
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
iconst_4
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic java.time.temporal.ChronoUnit.WEEKS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 9
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic java.time.temporal.ChronoUnit.YEARS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.temporal.ChronoUnit.ordinal:()I
bipush 11
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
dup
putstatic java.util.concurrent.TimeUnit.$SWITCH_TABLE$java$time$temporal$ChronoUnit:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
}
Signature: Ljava/lang/Enum<Ljava/util/concurrent/TimeUnit;>;
SourceFile: "TimeUnit.java"