- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How are Java objects stored in memory?
Java memory model is divided between Thread Stacks (One for each thread) and a heap area.
Thread Stack
It is a thread specific memory area and contains local variables, methods call information etc. JVM stacks could be of fixed size or variable size. If computation in a thread exceeds its stack size limit then JVM throws StackOverflowError and exits.
Heap
It contains all the objects created during application lifecycle. The heap is created when the virtual machine starts up. Garbage collector reclaims heap storage for objects and objects are never explicitly deallocated. The JVM is not using any automatic storage management system, and it may vary as per the system requirements. The heap may be of a fixed size or may vary as per requirement. The memory for the heap does not need to be contiguous.

Static variables are stored on heap area and object stored on the heap can be referred by references stored in thread stack.
- Related Articles
- How Java objects are stored in memory?
- Where objects, methods and variables are stored in memory in Java?
- Where does Array stored in JVM memory in Java?
- How and where does String literals in Java stored in the memory?
- How (where) are the elements of an array stored in memory?
- Are lambda expressions objects in Java?
- How many types of memory areas are allocated by JVM in java?
- What are the changes in Memory Management in Java 9?
- Why string objects are immutable in java?
- Memory management in Java
- Memory leaks in Java
- How are variables allocated memory in JavaScript?
- Memory Consistency Error in Java
- Java Memory Model
- How floats are stored in C compiler?
