关于弱引用
编程技术  /  houtizong 发布于 3年前   69
提纲:
1:什么是弱引用
弱引用就是引用他的时候,可以进行内存回收。比如缓冲可以用,但是无法准确的控制缓冲的策略,但是他的方便之处就在于我们不用控制缓冲的内容在内存不够的时候如何处理,由GC来处理。
2:弱引用的作用
3:C#如何高效的利用内存
4:C#的性能分析
闭包可以记住不在当前作用域内的“值”,这个值可能只引用。
using System; using System.Collections.Generic; sealed class TestClosure { static void Main(string[] args) { var actions = new List<Action>(); for (int i = 0; i < 3; ++i) { int j = i; //这个I在哪里保存呢??堆?栈?方法区? //j的每次改变不会影响到其他 actions.Add(() => Console.WriteLine(j)); } foreach (var a in actions) { a(); } // Output: // 0 // 1 // 2 //////////////////////////////////////////////////// actions = new List<Action>(); for (int i = 0; i < 3; ++i) { //保存的是引用,会改变 actions.Add(() => Console.WriteLine(i)); } foreach (var a in actions) { a(); } // Output: // 3 // 3 // 3 } }
注:函数式编程语言的值是不可改变的,每次返回的都是新的值。原来的值没有变化。(效率和内存如何考虑?)
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接