Object Alignment

akanana·2021년 10월 5일
0

JavaPerformance

목록 보기
8/9
post-thumbnail

기본적으로 JAVA 는 8-byte 의 배수로 메모리가 설정된다.
이를 '8-byte alignment' 또는 'object alignment' 라고 한다.
이러한 설정을 특별한 이유로 조절하고자 하는 경우
XX:ObjectAlignmentInBytes 를 통해 조절이 가능하다.

🏐크기가 커졌을때?

장점?

Object 크기가 증가된다. 단적으로
Heap Size = 4GB * ObjectAlignmentInBytes 이다.

단점?

쉽게 생각하여, Object Alignment 의 크기가 커진다는 소리는 낭비되는 공간이 커진다는 소리이다.
예를들어 8bytes 짜리 데이터를 저장하는데,

-XX:ObjectAlignmentInBytes=128

이라는 옵션이 주어졌을때, 우리는 120bytes 라는 공간을 낭비하게 된다.

참고

https://shipilev.net/jvm/anatomy-quarks/24-object-alignment/
https://tangoblog.tistory.com/14

0개의 댓글