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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access