对垃圾回收的认识

.net内置了垃圾回收的机制,balabala一大堆 我就觉得微软很贴心,我们也没必要手动回收了...

弱引用很好用,可以用一下

//Person p1 = new Person();
            //Person p2 = p1;
            //p1 = null;

            Person p1 = new Person();

            //虽然wr弱引用,还是指向了Person对象,但是依然可以进行垃圾回收。
            WeakReference wr = new WeakReference(p1);//弱引用。

            p1 = null;
           // GC.Collect();

            //判断p1是否已被回收,如果为false表示已经回收。
            Console.WriteLine(wr.IsAlive);
            Console.ReadKey();


            ......

            弱引用的作用:
            当下次使用该对象时,如果对象还没有被垃圾回收,则可以直接通过   //这块是亮点
            弱引用来使用,如果已经回收了,则重新new一个。
            这样做就有可能减少创建新对象的次数。

            //if (wr.Target!=null)
            //{
            //    Person p = (Person)wr.Target;
            //}
            //else
            //{
            //    new Person();
            //}

转载于:https://www.cnblogs.com/winchou/archive/2011/05/19/2051358.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值