public class org.springframework.util.AlternativeJdkIdGenerator implements org.springframework.util.IdGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.util.AlternativeJdkIdGenerator
super_class: java.lang.Object
{
private final java.util.Random random;
descriptor: Ljava/util/Random;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
astore 1
start local 1 2: bipush 8
newarray 8
astore 2
start local 2 3: aload 1
aload 2
invokevirtual java.security.SecureRandom.nextBytes:([B)V
4: aload 0
new java.util.Random
dup
new java.math.BigInteger
dup
aload 2
invokespecial java.math.BigInteger.<init>:([B)V
invokevirtual java.math.BigInteger.longValue:()J
invokespecial java.util.Random.<init>:(J)V
putfield org.springframework.util.AlternativeJdkIdGenerator.random:Ljava/util/Random;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/util/AlternativeJdkIdGenerator;
2 6 1 secureRandom Ljava/security/SecureRandom;
3 6 2 seed [B
public java.util.UUID generateId();
descriptor: ()Ljava/util/UUID;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: bipush 16
newarray 8
astore 1
start local 1 1: aload 0
getfield org.springframework.util.AlternativeJdkIdGenerator.random:Ljava/util/Random;
aload 1
invokevirtual java.util.Random.nextBytes:([B)V
2: lconst_0
lstore 2
start local 2 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: byte[] long int
StackMap stack:
lload 2
bipush 8
lshl
aload 1
iload 4
baload
sipush 255
iand
i2l
lor
lstore 2
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
bipush 8
if_icmplt 5
end local 4 8: lconst_0
lstore 4
start local 4 9: bipush 8
istore 6
start local 6 10: goto 13
11: StackMap locals: org.springframework.util.AlternativeJdkIdGenerator byte[] long long int
StackMap stack:
lload 4
bipush 8
lshl
aload 1
iload 6
baload
sipush 255
iand
i2l
lor
lstore 4
12: iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
bipush 16
if_icmplt 11
end local 6 14: new java.util.UUID
dup
lload 2
lload 4
invokespecial java.util.UUID.<init>:(JJ)V
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/util/AlternativeJdkIdGenerator;
1 15 1 randomBytes [B
3 15 2 mostSigBits J
4 8 4 i I
9 15 4 leastSigBits J
10 14 6 i I
}
SourceFile: "AlternativeJdkIdGenerator.java"