How Java objects are stored in memory

In this Java article, You will learn How Java objects are stored in memory. You will also learn where the Java objects and variables are getting stored in the memory.

All the objects and variables are dynamically allocated in heap.

If we declare a variable of a class type then memory does not get allocated automatically. In this case, the reference will be created. To allocate memory to an object we have to use new()

There are two types of memory area:

  • Thread Stacks
  • Heap Area

Also read,

Java Garbage Collection

Concept Of Class and Object in Java With Examples

What is BLOB Data Type?

How Java Objects are stored in Memory

Thread Stack is a thread specific memory area which contains method call information as well as local variables.

Each JVM thread has a private Java Virtual Machine stack which is created at the same time as the thread.

JVM Stack can be of either variable size or fixed size.


During the application lifecycle, objects can be created. And all the objects then go into the heap memory.
At the time of the startup of the virtual machine, the heap is created automatically. The heap size can be of either fixed size or variable size. The memory for the heap does not need to be contiguous.

See the below figures:

Java memory model

‘ Java Memory Model

how java objects are stored in memory

Java Memory Model( source )

Leave a Reply

Your email address will not be published. Required fields are marked *