Graphically:
The computer will never re-use the reserved memory cells for another variable !!!
Explanation:
These memory cells will be used (= reserved) for the entire duration of the program
Memory cells in the heap are reserved when an instance variable is created
Memory cells in the heap are un-reserved when an instance variable is destroyed (= garbage collected)
Memory cells in the stack are reserved when an parameter/local variable is created
Memory cells in the stack are un-reserved when an parameter/local variable is destroyed (= garbage collected)
The behavior is same as a stack !!!
More about this later in the course
Schematically: