Storing variables on the stack
Variables used in a method are stored on the stack. The stack memory is the memory that is used for executing methods. In Figure 1.7, we have shown a stack area for three threads, each containing several frames.
Figure 1.7 – Overview of the frames in the stack area for three threads
Inside a method, primitives and references exist. Every thread in the application has its own stack. The stack consists of frames. Every method that gets invoked comes with a new frame on the stack. When the method execution is finished, the frame is removed.
If the stack memory is too small to store what is needed for the frame, StackOverFlowError
is thrown. When there is not enough space for a new stack for a new thread, OutOfMemoryError
is thrown. The method that currently is being executed by a thread is called the current method and its data is held in the current frame.
Current frame and current method
The reason that a stack...