Java内存分为栈内存和堆内存;
Java函数定义的一些基本类型的变量和对象的引用变量都在栈内存中分配;
当在一段代码块定义一个变量时,在栈中为这个变量分配内存空间,当超过变量的作用域后,会自动释放掉为该变量所分配的内存空间。
存取速度比堆要快,仅次于寄存器,栈数据可以共享。
堆内存用来存放由new创建的对象和数组,可以动态地分配内存大小,生存期也不必事先告诉编译器;
Java虚拟机的自动垃圾回收器管理堆中分配的内存 ;
引用变量就相当于是为数组或对象起的一个名称,可以在程序中使用栈中的引用变量来访问堆中的数组或对象;