引用类型变量所说的分配在堆上,堆是由程序员维护的内存空间,
既声明一个引用变量,必须用new()来分配实际存储空间,但是
该变量本身是一个指针,占用4字节空间,但本身应存在堆栈中,只是它指向的内存块
是在堆上的。
所以,有时指针本身被释放了,但它指向的内存块却没有释放出来,就造成溢出
当然C#的‘不用存储收集’机制现在会自动处理这个问题。java 也是。