What is the size of the object in java

java, oop

Solution

The in-memory size of the object depends on the architecture, mainly on whether the VM is 32 or 64-bit. The actual VM implementation also matters.

For each object, you need space for its object header (typically 2*8 bytes on 64-bit VMs), its fields (extra space for alignment depending on the VM implementation). The final space is then rounded up to the nearest multiple of the word size.

Problem

As we all know that java uses the following data types ``` byte Occupy 8 bits in memory short Occupy 16 bits in memory int Occupy 32 bits in memory long Occupy 64 bits in memory ``` If I create a class like ``` class Demo{ byte b; int i; long l; } Demo obj = new Demo(); ``` Now my question is `obj` size is `< or > or =` the size of `b+i+l` which is `104 bytes`. Please give me the clarification with proper reason. Thanks, Anil Kumar C

Original source

Related problems