Java是采取垃圾自动回收机制来进行内存回收的。
每一个对象的创建和被引用都会使该对象的计数器加1
当对象引用被改变,或者被摧毁,该对象的计数器就减1
每隔一段时间,有垃圾回收机制检查所有为0的对象,回收内存。
C#不知道。应该类似吧
很简单只要把变量的值设置为null就可以了
int a=new int(0);申请内存
a=null;回收内存,若去掉这一行,会内存泄露
C#中如果启用托管,那么你就不用担心内存泄露了。如果不启用,就要像上面一样回收内存
你可以看看这个:http://blog.csdn.net/heirenheiren/article/details/7337402
既然是回收了就不会造成内存泄露啦。
反倒是C++和C因为没有内存回收的机制,常常因为程序员忘记将数组等delete掉,就会造成内存泄露