可以这么简单的给你介绍下堆和栈的区别:
栈内存:所有基本数据类型的值都是存在栈内存中 比如: int num = 10,那么栈内存开辟一个空间给num,并让num初始化为10
栈内存中还会存一些引用,比如说String s = "abc"; 那么此时在栈内存开辟一个空间给 s 变量,但是字符串真正的内容abc是存在堆内存中,这个要明白。s 只是一个地址指向真正的字符串对象
堆内存: 堆内存一般都存储引用数据类型,比如说:字符串,类的实例:(new Person())
Person p = new Person();
p是存在栈内存 而new Person()是存在堆内存, p------->new Person();
这样讲你能明白吗?
|