static A obj;
// -XX:BiasedLockingStartupDelay=0 偏向锁开关
// -XX:+PrintFlagsInitial 打印所有参数
public static void main(String[] args) throws InterruptedException {
obj = new A();
// Thread.sleep(60000);
System.out.println(ClassLayout.parseInstance(obj).toPrintable());
printHeader();
// obj.hashCode();
printHeader();
Thread thread = new Thread(() -> {
printHeader();
});
Thread thread2 = new Thread(() -> {
printHeader();
});
thread.start();
thread2.start();
thread.join();
thread2.join();
}
private static void printHeader() {
synchronized (obj) {
System.out.println(ClassLayout.parseInstance(obj).toPrintable());
System.out.println("========");
}
}
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 01 00 00 00 (00000001 00000000 00000000 00000000) (1)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) c0 f5 81 02 (11000000 11110101 10000001 00000010) (42071488)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) c0 f5 81 02 (11000000 11110101 10000001 00000010) (42071488)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 38 f6 6c 1f (00111000 11110110 01101100 00011111) (527234616)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 1a e7 ec 02 (00011010 11100111 11101100 00000010) (49080090)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
-XX:BiasedLockingStartupDelay=0
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 05 00 00 00 (00000101 00000000 00000000 00000000) (5)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 05 40 41 03 (00000101 01000000 01000001 00000011) (54607877)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) d8 f3 7e 1e (11011000 11110011 01111110 00011110) (511636440)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) a8 ef 7e 1e (10101000 11101111 01111110 00011110) (511635368)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 5a e5 d1 02 (01011010 11100101 11010001 00000010) (47310170)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 05 00 00 00 (00000101 00000000 00000000 00000000) (5)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 05 40 62 02 (00000101 01000000 01100010 00000010) (39993349)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 90 f1 93 00 (10010000 11110001 10010011 00000000) (9695632)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)
OFFSET SIZE TYPE DESCRIPTION VALUE
0 4 (object header) 0a e5 71 02 (00001010 11100101 01110001 00000010) (41018634)
4 4 (object header) 00 00 00 00 (00000000 00000000 00000000 00000000) (0)
8 4 (object header) 47 c1 00 f8 (01000111 11000001 00000000 11111000) (-134168249)
12 4 (loss due to the next object alignment)