第五章 托管与非托管的资源
1.值类型的值存储在 “栈”(虚拟内存中的一块区域)值入栈时会自上而下分配 通知指针会递减指向空闲存储单元 。 当变量超出作用域时 运行库会释放栈中存储的存储单元 同时指针会递增指向空闲存储单元
2.引用类型存储在托管堆中 当声明一个引用变量时会在栈中分配存储空间存储引用对象地址 当实例化时会在堆上分配存储空间存储对象的实例 同时把实例所在托管堆的地址赋给变量在栈中的值。当引用变量超出作用域时 运行库会释放变量在栈中的引用地址,但是托管堆中的存储对象会继续存在 直到托管堆地址未被任何变量引用时 GC会释放它
3.unsafe{} 定义不安全的代码块 & 表示取地址(寻址运算符 ex: int a =10; int* pA=&a; )* 表示获取地址内容 (间接寻址运算符 ex: int b=*pA;)