java 堆和栈的区别

1,在栈中存放的是基本类型变量和对象的引用变量,当一段代码定义一个变量时,java

就在栈内为这个变量分配内存空间,当超过变量的作用域时,java会自动回收分配的内存。
局部变量在栈内存

2,堆内存放的是new创建的对象和数组,有java jvm的垃圾回收器来管理。同时会在栈内

定义一个特殊变量,让这个变量的取值等于数组或对象在堆内的首地址,这个特殊变量就成了引用变量。

成员变量在堆内存

原文地址:https://www.cnblogs.com/zqlmmd/p/10974998.html