Lesson 16Managing Storage and Memory

In this lesson, we'll look at how and where data is stored and managed in memory and how objects are referenced.

PROGRAMS AND MEMORY

When your program is running, its data must be stored in memory. There are two main areas of memory that the JVM uses to store the data associated with our programs: the stack and the heap. As our program runs, each method (including main) gets some memory on the stack. The memory that each method gets is called a stack frame. Any new object created by our program will get some memory on the heap. We'll look at the details of what ends up on the stack and heap and why things end up on one or the other in this lesson.

The Stack

The stack is a memory structure that is managed by the JVM. The stack is a last-in, first-out (LIFO) data structure. In a stack data structure, new items are added to the top—this is known as pushing the item onto the stack. Items are also removed from the top of the stack—this is known as popping the item off the stack. This means that the last thing we pushed onto the stack will be the first thing to get popped off, which is ...

Get Job Ready Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.