Posts

Showing posts with the label Java Heap

How Java Manages Memory Behind the Scenes

Image
Understanding how Java allocates and deallocates memory is essential for writing efficient, fast, and reliable applications. While the JVM automates most of the heavy lifting, knowing what happens under the hood helps you avoid memory leaks, improve performance, and truly master Java. 🔍 1. Where Java Data Lives Java stores data in different memory regions depending on whether it is a primitive value or a reference to an object . 🟦 a) Primitive Data Types Examples: int , double , boolean , char , byte , short , long , float Where they’re stored: Java Stack (local primitives) — When primitive variables are declared inside a method, they live on the stack. Heap (inside objects) — If primitives are part of an object, they live inside that object on the heap. public void myMethod() { int count = 10; // Stored on stack boolean isActive = true; } class MyClass { int value; // Stored on the heap as part of the obje...