3 ms·
So... Why exactly does it need 24 bytes if a long is only 8 bytes (64 bits)?
by haneefmubarak 10y ago
So... Why exactly does it need 24 bytes if a long is only 8 bytes (64 bits)?
- kaushiks 10y agoFor the 16 byte (on x86_64) header (markOop, klass *).
- jcdavis 10y agoThe header is only 12 bytes with compressedOops (which most people use), but the long is aligned on an 8 byte boundary so the advantage is wasted here.
- alblue 10y agoAnd even if the long wasn't on an aligned boundary, the object itself is. So you either have padding at the start or end of the object.