1,java内存模型由堆和栈组成。
2,在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。
3,当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
4,堆内存用来存放由new创建的对象和数组。
5,堆内存由垃圾回收器自动管理。
6,堆中产生的对象和数据,可以在栈中定义特殊变量,让这个变量的取值指向堆里面对象或数组的首地址,那这个变量就成了对象或数组的引用变量。
7,栈中的数据可以共享。