棧
int a = 7;
在棧中开辟空间存入a和7,把7指向a 如果从新赋值 a = 8; 在棧中存入8 并且把8 指向a ,7在编译时 自动被释放不在占用空间;
例如
咱俩都有100块钱,100块钱指向你,也指向我, 你发财了有101,那么101指向你,100还是指向我
int a = 100;
int b =100;
a = 101;
我还是没变 你变了 在棧中 你的 100 就释放了
堆
堆分为值调用 和引用调用;
值调用 不改变堆中的值 操作的紧紧是地址的一个副本 地址中的属性方法不发生变化;
引用调用 是把地址指向另外一个变量,操作的的是地址,地址中的属性和方法发生变化 在调用地址就是改变后;
例如,你吧你家钥匙给我告诉我地址,那么我就能把你家的贵重物品搬走,你回家看到的就是空房子 |