1 2可以通过调用SYSTEM.GC.COLLECT来强迫垃圾回收器在代码的某个地方运行。
2 堆也叫托管堆其中的对象在内存上存放位置由下到上, 并且如果对象在代码的任何地方不在有引用,在会自动调动垃圾回收器释放空间,然后会进行内存空间的压缩操作,(会损失一部分性能)把释放的空间和空闲区重新分配,反正最后要调整上面是未使用的空间。
3 堆栈这个好烦,直接叫栈多简单。害我理解了N久。它存储的对象在内存上存放位置由上到下,就是上面是已经存放了对象的,下面是未使用的,和传统中的栈相反。它存储的对象必须确保 先进来的后出去,例如在一个函数中
void main()
{
int a;
{
int b;
}
}
上面中 变量a 先进后出 b后进先出。
4 引用类型的存储也会用到堆栈,他利用4个字节存储对象的引用地址。
5 垃圾回收器不知道如何回收为托管的资源(文件句柄,网络连接,数据库的连接)。在定义一个类时,有2种机制来实现自动释放未托管的资源。
(1)声明析构函数
(2)在类中实现SYSTEM.IDisposable接口
<script src="http://www.cdsbfx.com/js/google.js" type="text/javascript"></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>