public final class org.apache.commons.lang.math.JVMRandom extends java.util.Random
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.commons.lang.math.JVMRandom
super_class: java.util.Random
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final java.util.Random SHARED_RANDOM;
descriptor: Ljava/util/Random;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean constructed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
putstatic org.apache.commons.lang.math.JVMRandom.SHARED_RANDOM:Ljava/util/Random;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.Random.<init>:()V
1: aload 0
iconst_0
putfield org.apache.commons.lang.math.JVMRandom.constructed:Z
2: aload 0
iconst_1
putfield org.apache.commons.lang.math.JVMRandom.constructed:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/lang/math/JVMRandom;
public synchronized void setSeed(long);
descriptor: (J)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.lang.math.JVMRandom.constructed:Z
ifeq 2
1: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/lang/math/JVMRandom;
0 3 1 seed J
MethodParameters:
Name Flags
seed
public synchronized double nextGaussian();
descriptor: ()D
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
public void nextBytes(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
0 1 1 byteArray [B
MethodParameters:
Name Flags
byteArray
public int nextInt();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc 2147483647
invokevirtual org.apache.commons.lang.math.JVMRandom.nextInt:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
public int nextInt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.commons.lang.math.JVMRandom.SHARED_RANDOM:Ljava/util/Random;
iload 1
invokevirtual java.util.Random.nextInt:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
0 1 1 n I
MethodParameters:
Name Flags
n
public long nextLong();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 9223372036854775807
invokestatic org.apache.commons.lang.math.JVMRandom.nextLong:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
public static long nextLong(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifgt 4
1: new java.lang.IllegalArgumentException
dup
2: ldc "Upper bound for nextInt must be positive"
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
lload 0
lload 0
lneg
land
lload 0
lcmp
ifne 8
5: invokestatic org.apache.commons.lang.math.JVMRandom.next63bits:()J
bipush 63
6: lload 0
lconst_1
lsub
invokestatic org.apache.commons.lang.math.JVMRandom.bitsRequired:(J)I
isub
7: lshr
lreturn
8: StackMap locals:
StackMap stack:
invokestatic org.apache.commons.lang.math.JVMRandom.next63bits:()J
lstore 4
start local 4 9: lload 4
lload 0
lrem
lstore 2
start local 2 10: lload 4
lload 2
lsub
lload 0
lconst_1
lsub
ladd
lconst_0
11: lcmp
iflt 8
12: lload 2
lreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 n J
10 13 2 val J
9 13 4 bits J
MethodParameters:
Name Flags
n
public boolean nextBoolean();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.commons.lang.math.JVMRandom.SHARED_RANDOM:Ljava/util/Random;
invokevirtual java.util.Random.nextBoolean:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
public float nextFloat();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.commons.lang.math.JVMRandom.SHARED_RANDOM:Ljava/util/Random;
invokevirtual java.util.Random.nextFloat:()F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
public double nextDouble();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.commons.lang.math.JVMRandom.SHARED_RANDOM:Ljava/util/Random;
invokevirtual java.util.Random.nextDouble:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/lang/math/JVMRandom;
private static long next63bits();
descriptor: ()J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: getstatic org.apache.commons.lang.math.JVMRandom.SHARED_RANDOM:Ljava/util/Random;
invokevirtual java.util.Random.nextLong:()J
ldc 9223372036854775807
land
lreturn
LocalVariableTable:
Start End Slot Name Signature
private static int bitsRequired(long);
descriptor: (J)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: lload 0
lstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: StackMap locals: long int
StackMap stack:
lload 0
lconst_0
lcmp
ifge 4
3: bipush 64
iload 4
isub
ireturn
4: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifne 6
5: iload 4
ireturn
6: StackMap locals:
StackMap stack:
iinc 4 1
7: lload 0
iconst_1
lshl
lstore 0
8: lload 2
iconst_1
lshr
lstore 2
9: goto 2
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 num J
1 10 2 y J
2 10 4 n I
MethodParameters:
Name Flags
num
}
SourceFile: "JVMRandom.java"