黑狐全集下载,夜猫族的异想,维修手册
线程栈 stuck:存值类型,和引用类型的引用 先进后出,链表形式,连续摆放 clr(公共语言运行库(common language runtime))启动进程,main函数为一个线程入口
进程堆heap:存引用类型 进程中的一块区域
il:中间语言
对象的属性为值类型出现在堆里,方法里的值类型,由进程调用,出现在栈里
/// <summary> /// class 引用类型 /// </summary> public class referencetypeclass { private int _valuetypefield;//堆:因为对象都在堆里,对象里面的属性也在堆里 public referencetypeclass() { _valuetypefield = 0; } public void method() { int valuetypelocalvariable = 0;//栈:全新的局部变量,线程栈来调用方法,然后分配内存 new process();//new对象,分配在堆里 } }
装箱拆箱(仅仅是说内存的拷贝动作):内存copy 也会浪费性能 通常都是因为object,
装箱拆箱只能发生在父子类里面, 因为这样你才能转换呀
dynamic 是引用类型的语法糖
string student = "123"; string student2 = student; console.writeline(student); //123 console.writeline(student2);//123 student2 = "app"; console.writeline(student);//123 console.writeline(student2);//app
string student = "大山"; string student2 = "app";//共享 student2 = "大山"; console.writeline(object.referenceequals(student, student2));//true 竟然一样 //就是同一个 享元模式 clr内存分配字符串的时候,会查找相同值,有就重用了
少new对象,创建对象需要内存开辟空间,
碎觉了
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论