Object : 8바이트 = 레퍼런스 주소(4바이트) + GC 카운팅(1바이트) + 락(1바이트) + 해시(2바이트) Integer = Object(8) + int(4) + 의미없는 패딩값(4) 객체들은 8바이트 단위로 이루어져 있다. (8, 16, 32, 64) 그 이유는 비트연산을 통해 빠르게 memory access를 하기 위함이다. 비트연산 >> 세번하면 x8이 된다. 8에 안맞추면 매번 memory access 시 더하기 연산을 추가로 해주어야하기 때문에 느려진다. https://stackoverflow.com/questions/11926415/why-do-java-objects-have-to-be-a-multiple-of-8