java⼀C#如何回收内存,是否会存在内存泄漏,为什么?

2025-02-24 00:59:48
推荐回答(3个)
回答1:

Java是采取垃圾自动回收机制来进行内存回收的。
每一个对象的创建和被引用都会使该对象的计数器加1
当对象引用被改变,或者被摧毁,该对象的计数器就减1

每隔一段时间,有垃圾回收机制检查所有为0的对象,回收内存。

C#不知道。应该类似吧

回答2:

很简单只要把变量的值设置为null就可以了
int a=new int(0);申请内存
a=null;回收内存,若去掉这一行,会内存泄露
C#中如果启用托管,那么你就不用担心内存泄露了。如果不启用,就要像上面一样回收内存

回答3:

你可以看看这个:http://blog.csdn.net/heirenheiren/article/details/7337402
既然是回收了就不会造成内存泄露啦。
反倒是C++和C因为没有内存回收的机制,常常因为程序员忘记将数组等delete掉,就会造成内存泄露