1,值类型继承自 ValueType,分配在线程栈上(除非值类型包裹在堆中,这个时候值类型就在堆上),用完自己会结束
2,引用类型分布在堆上(始终分配在堆上),一个进程只有一个堆,所有的数据都是往里面放,所以需要垃圾回收。
1)new 时,在堆中开辟内存,分配一个内存地址
2)调用构造函数(因为在构造函数里可以使用this)
3,装箱和拆箱通常是因为object
4,堆里面的内存是连续分配的
5,内存是链式分配,可能有碎片
6,垃圾回收时间:发生在new对象的时候,new一个对象时,看看空间够不够,不够的话就要GC回收了
7,static 变量不会被回收,静态持有的引用也不会被回收,GC.Collect() 主动回收
8,
原文:https://www.cnblogs.com/luyiwei/p/9211221.html