C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1959个文字,预计阅读时间需要8分钟。
基本+哪些属于引用类型(object,string),接口、数组、委托+引用类型分配在哪里+引用类型变量位于线程栈上。+引用类型实例分配在托管堆上。+当引用类型实例大于85000bytes时,被分配。
基本
哪些属于引用类型
类(object,string),接口、数组、委托
引用类型分配在哪里
- 引用类型变量位于线程栈。
- 引用类型实例分配在托管堆上。
- 当引用类型实例的大小小于85000bytes,被分配在GC堆上,当大于或等于85000bytes,被分配在LOH(Large Object Heap)上。
变量(Variable),对象(Object),实例(Instance)
变量:
变量分配在线程栈上。
变量可以是值类型,也可以是引用类型。
当变量是引用类型时,包含了对对象的引用(内存地址),也叫做"对象引用"。
对象:
对类、接口、委托和数组等的一个抽象描述。
实例:
在堆上创建的对象,称为对象实例。
引用类型没有new意味着什么?
Object a = null;
Console.WriteLine(a.ToString());
运行报错"未将对象引用设置到对象实例"。
意思是,在线程栈上创建的变量a没有指向到堆上的对象实例。
托管堆上的垃圾回收
GC会遍历所有托管堆上的对象,按照一定的递归遍历算法,对那些没有被引用的不可访问对象实施回收。
本文共计1959个文字,预计阅读时间需要8分钟。
基本+哪些属于引用类型(object,string),接口、数组、委托+引用类型分配在哪里+引用类型变量位于线程栈上。+引用类型实例分配在托管堆上。+当引用类型实例大于85000bytes时,被分配。
基本
哪些属于引用类型
类(object,string),接口、数组、委托
引用类型分配在哪里
- 引用类型变量位于线程栈。
- 引用类型实例分配在托管堆上。
- 当引用类型实例的大小小于85000bytes,被分配在GC堆上,当大于或等于85000bytes,被分配在LOH(Large Object Heap)上。
变量(Variable),对象(Object),实例(Instance)
变量:
变量分配在线程栈上。
变量可以是值类型,也可以是引用类型。
当变量是引用类型时,包含了对对象的引用(内存地址),也叫做"对象引用"。
对象:
对类、接口、委托和数组等的一个抽象描述。
实例:
在堆上创建的对象,称为对象实例。
引用类型没有new意味着什么?
Object a = null;
Console.WriteLine(a.ToString());
运行报错"未将对象引用设置到对象实例"。
意思是,在线程栈上创建的变量a没有指向到堆上的对象实例。
托管堆上的垃圾回收
GC会遍历所有托管堆上的对象,按照一定的递归遍历算法,对那些没有被引用的不可访问对象实施回收。

