一个简单的示例代码:
Object test=new Object();
我知道test
对象的内存是分配在堆中的。
来自MSDN的引用:
引用类型的变量存储对它们的数据(对象)的引用
但我真的不明白这个变量值(引用堆数据)存储在哪里,是存储在栈中还是堆中还是其他地方?
一个简单的示例代码:
Object test=new Object();
我知道test
对象的内存是分配在堆中的。
来自MSDN的引用:
引用类型的变量存储对它们的数据(对象)的引用
但我真的不明白这个变量值(引用堆数据)存储在哪里,是存储在栈中还是堆中还是其他地方?
test
并不持有堆上对象的地址,它持有指向堆上实际地址的_引用_。“用户不能将引用视为地址,事实上,它们在实现中不一定包含地址。” 引用不是地址 - mlg