public final class org.apache.logging.log4j.core.util.UuidUtil
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.logging.log4j.core.util.UuidUtil
super_class: java.lang.Object
{
public static final java.lang.String UUID_SEQUENCE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.apache.logging.log4j.uuidSequence"
private static final org.apache.logging.log4j.Logger LOGGER;
descriptor: Lorg/apache/logging/log4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ASSIGNED_SEQUENCES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.apache.logging.log4j.assignedSequences"
private static final java.util.concurrent.atomic.AtomicInteger COUNT;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long TYPE1;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
private static final byte VARIANT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -128
private static final int SEQUENCE_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16383
private static final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 122192928000000000
private static final long INITIAL_UUID_SEQNO;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long LEAST;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long LOW_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4294967295
private static final long MID_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 281470681743360
private static final long HIGH_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1152640029630136320
private static final int NODE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int SHIFT_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int SHIFT_4;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int SHIFT_6;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 48
private static final int HUNDRED_NANOS_PER_MILLI;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10000
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=16, args_size=0
0: invokestatic org.apache.logging.log4j.status.StatusLogger.getLogger:()Lorg/apache/logging/log4j/status/StatusLogger;
putstatic org.apache.logging.log4j.core.util.UuidUtil.LOGGER:Lorg/apache/logging/log4j/Logger;
1: new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putstatic org.apache.logging.log4j.core.util.UuidUtil.COUNT:Ljava/util/concurrent/atomic/AtomicInteger;
2: invokestatic org.apache.logging.log4j.util.PropertiesUtil.getProperties:()Lorg/apache/logging/log4j/util/PropertiesUtil;
ldc "org.apache.logging.log4j.uuidSequence"
lconst_0
invokevirtual org.apache.logging.log4j.util.PropertiesUtil.getLongProperty:(Ljava/lang/String;J)J
putstatic org.apache.logging.log4j.core.util.UuidUtil.INITIAL_UUID_SEQNO:J
3: invokestatic org.apache.logging.log4j.core.util.NetUtils.getMacAddress:()[B
astore 0
start local 0 4: new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
astore 1
start local 1 5: aload 0
ifnull 6
aload 0
arraylength
ifne 8
6: StackMap locals: byte[] java.util.Random
StackMap stack:
bipush 6
newarray 8
astore 0
7: aload 1
aload 0
invokevirtual java.util.Random.nextBytes:([B)V
8: StackMap locals:
StackMap stack:
aload 0
arraylength
bipush 6
if_icmplt 9
bipush 6
goto 10
StackMap locals:
StackMap stack:
9: aload 0
arraylength
StackMap locals:
StackMap stack: int
10: istore 2
start local 2 11: aload 0
arraylength
bipush 6
if_icmplt 12
aload 0
arraylength
bipush 6
isub
goto 13
StackMap locals: int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 3
start local 3 14: bipush 8
newarray 8
astore 4
start local 4 15: aload 4
iconst_0
bipush -128
bastore
16: aload 4
iconst_1
iconst_0
bastore
17: iconst_2
istore 5
start local 5 18: goto 21
19: StackMap locals: int byte[] int
StackMap stack:
aload 4
iload 5
iconst_0
bastore
20: iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
bipush 8
if_icmplt 19
end local 5 22: aload 0
iload 3
aload 4
iload 3
iconst_2
iadd
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: aload 4
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 5
start local 5 24: getstatic org.apache.logging.log4j.core.util.UuidUtil.INITIAL_UUID_SEQNO:J
lstore 6
start local 6 25: invokestatic org.apache.logging.log4j.util.PropertiesUtil.getProperties:()Lorg/apache/logging/log4j/util/PropertiesUtil;
ldc "org.apache.logging.log4j.assignedSequences"
invokevirtual org.apache.logging.log4j.util.PropertiesUtil.getStringProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 26: aload 8
ifnonnull 29
27: iconst_0
newarray 11
astore 9
start local 9 28: goto 38
end local 9 29: StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String
StackMap stack:
aload 8
getstatic org.apache.logging.log4j.core.util.Patterns.COMMA_SEPARATOR:Ljava/lang/String;
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 10
start local 10 30: aload 10
arraylength
newarray 11
astore 9
start local 9 31: iconst_0
istore 11
start local 11 32: aload 10
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 37
StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[] java.lang.String[] int top int int java.lang.String[]
StackMap stack:
33: aload 15
iload 13
aaload
astore 12
start local 12 34: aload 9
iload 11
aload 12
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lastore
35: iinc 11 1
end local 12 36: iinc 13 1
StackMap locals:
StackMap stack:
37: iload 13
iload 14
if_icmplt 33
end local 11 end local 10 38: StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[]
StackMap stack:
lload 6
lconst_0
lcmp
ifne 40
39: aload 1
invokevirtual java.util.Random.nextLong:()J
lstore 6
40: StackMap locals:
StackMap stack:
lload 6
ldc 16383
land
lstore 6
41: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 42: aload 9
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 48
StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[] int top top int int long[]
StackMap stack:
43: aload 15
iload 13
laload
lstore 11
start local 11 44: lload 11
lload 6
lcmp
ifne 47
45: iconst_1
istore 10
46: goto 49
end local 11 47: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
48: iload 13
iload 14
if_icmplt 43
49: StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[] int
StackMap stack:
iload 10
ifeq 51
50: lload 6
lconst_1
ladd
ldc 16383
land
lstore 6
51: StackMap locals:
StackMap stack:
iload 10
ifne 41
52: aload 8
ifnonnull 53
lload 6
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
goto 54
StackMap locals:
StackMap stack:
53: new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 6
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
54: astore 8
55: ldc "org.apache.logging.log4j.assignedSequences"
aload 8
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
56: aload 5
invokevirtual java.nio.ByteBuffer.getLong:()J
lload 6
bipush 48
lshl
lor
putstatic org.apache.logging.log4j.core.util.UuidUtil.LEAST:J
end local 10 end local 9 end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 57: return
LocalVariableTable:
Start End Slot Name Signature
4 57 0 mac [B
5 57 1 randomGenerator Ljava/util/Random;
11 57 2 length I
14 57 3 index I
15 57 4 node [B
18 22 5 i I
24 57 5 buf Ljava/nio/ByteBuffer;
25 57 6 rand J
26 57 8 assigned Ljava/lang/String;
28 29 9 sequences [J
31 57 9 sequences [J
30 38 10 array [Ljava/lang/String;
32 38 11 i I
34 36 12 value Ljava/lang/String;
42 57 10 duplicate Z
44 47 11 sequence J
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/logging/log4j/core/util/UuidUtil;
public static java.util.UUID getTimeBasedUuid();
descriptor: ()Ljava/util/UUID;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=0
0: invokestatic java.lang.System.currentTimeMillis:()J
ldc 10000
lmul
1: ldc 122192928000000000
2: ladd
3: getstatic org.apache.logging.log4j.core.util.UuidUtil.COUNT:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
sipush 10000
irem
i2l
4: ladd
lstore 0
start local 0 5: lload 0
ldc 4294967295
land
bipush 32
lshl
lstore 2
start local 2 6: lload 0
ldc 281470681743360
land
bipush 16
lshr
lstore 4
start local 4 7: lload 0
ldc 1152640029630136320
land
bipush 48
lshr
lstore 6
start local 6 8: lload 2
lload 4
lor
ldc 4096
lor
lload 6
lor
lstore 8
start local 8 9: new java.util.UUID
dup
lload 8
getstatic org.apache.logging.log4j.core.util.UuidUtil.LEAST:J
invokespecial java.util.UUID.<init>:(JJ)V
areturn
end local 8 end local 6 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
5 10 0 time J
6 10 2 timeLow J
7 10 4 timeMid J
8 10 6 timeHi J
9 10 8 most J
}
SourceFile: "UuidUtil.java"