垃圾回收

1.垃圾回收回收什么东西?

 垃圾回收只会回收托管堆中的资源

2什么样的对象会被回收?

Person p1=new Person();

p1.Age=10;

p1.Name="xx";

p1=null;

当Person这个对象不再被任何一个变量引用是就可以回收了。

而当

Person p1=new Person();

p1.Age=10;

p1.Name="xx";

Person p2=p1;

p1=null;

虽然p1指向的是空地址,但是p2指向的仍然是Person对象的地址,所以不能被回收;

只要有变量引用该对象就不能被回收

3.什么时候被回收?

这个不确定。

千万不要手动垃圾回收GC.Collect();

因为手动垃圾回收会是短暂程序暂停,还会打乱原本的回收机制,得不偿失!

posted @ 2018-12-05 00:15  名字已被使用N次  阅读(341)  评论(0编辑  收藏  举报