- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
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
Memory management in Java
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.
Local variables are stored on stack area.
- Related Articles
- Memory Management
- Memory Management in JavaScript
- Memory Management in Python
- What are the changes in Memory Management in Java 9?
- Global memory management in C++ : Stack or Heap?
- C++ Program for Best Fit algorithm in Memory Management
- C++ Program for First Fit algorithm in Memory Management
- Memory leaks in Java
- Java Memory Model
- Memory Consistency Error in Java
- Major Activities of an Operating System with Regard to Memory Management
- What are the basic components of the memory management unit in computer architecture?
- Java (JVM) memory model
- Java (JVM) Memory Types
- How Java objects are stored in memory?
