一、 堆
1. JVM将数组存储在一个叫 堆(heep)的内存区域中,堆用于动态内存分配,在堆中内存块可以按任意的顺序分配和释放。
二、栈
1. 栈(stack)是一种用后进先出方式存放对象的数据结构。
编译器使用 栈 来处理方法调用。调用方法时,将方法的参数和局部变量推入栈中。当一个方法调用另一个方法时,新方法的参数和局部变量被推入栈中。
当方法完成工作,返回它的调用者时,从栈中释放与它相关的空间。