CLR via C# 读书笔记(二)new 操作符都干了些什么?
2008-03-17 16:22
465 查看
new 操作符所做的事情:
1。计算类型的及其所有的基类型中定义的所有实例字段需要的字节数。堆上所有的对象都需要一些额外的被CLR管理的对象成员,包括类型对象的指针(type object pointer)和同步块索引(sync block index),它们的大小也会被包含进去
2。在托管堆上分配类型所需要的字节数,为对象分配内存,分配的字节都被初始化为0。
3。初始化对象的类型对象的指针(type object pointer)和同步块索引(sync block index)成员
4。调用类型的实例构造器,初始化对象,并且调用基类的构造器
5。最后返回新创建对象的一个引用(或称为指针)
---CLR via C# 第四章 类型基础 4.1所有类型都是从System.Object派生的
1。计算类型的及其所有的基类型中定义的所有实例字段需要的字节数。堆上所有的对象都需要一些额外的被CLR管理的对象成员,包括类型对象的指针(type object pointer)和同步块索引(sync block index),它们的大小也会被包含进去
2。在托管堆上分配类型所需要的字节数,为对象分配内存,分配的字节都被初始化为0。
3。初始化对象的类型对象的指针(type object pointer)和同步块索引(sync block index)成员
4。调用类型的实例构造器,初始化对象,并且调用基类的构造器
5。最后返回新创建对象的一个引用(或称为指针)
---CLR via C# 第四章 类型基础 4.1所有类型都是从System.Object派生的
相关文章推荐
- CLR via C# 读书笔记(三)关于"is" 和"as"操作符
- 《CLR via C#》读书笔记-异步编程(一)
- 《CLR via C#》读书笔记 之 接口
- CLR via C# 读书笔记 4-2 线程和锁的一些使用原则
- CLR via C# 3 读书笔记(4):第1章 CLR执行模型 — 1.4 执行程序集代码
- 《CLR via C#》读书笔记(10)– 我不知道的String
- CLR Via C# 第四章 类型基础——读书笔记
- CLR via C# 读书笔记 3-4 锁-条件变量模式
- CLR via C# 读书笔记(七)线程同步的几种解决办法
- [读书笔记]参数out和ref-CLR via C# edition3
- 《CLR via C#》读书笔记---09 参数
- 读书笔记—CLR via C#章节4-7
- 读书笔记—CLR via C#委托和attribute
- 《CLR via C#》第22章 程序集加载和反射 读书笔记
- 《CLR via C#》读书笔记-Attribute
- 《CLR via C#》读书笔记(4) -- const与readonly的区别
- 《CLR via C#》读书笔记(3) -- .Net程序的运行模型 下
- CLR via C# 读书笔记 6-2 不同AppDomain之间的通信
- CLR via C# 读书笔记 6-3 跨域访问的性能问题
- CLR via C# 读书笔记 5-4 在使用非托管资源情况下的GC