08 2015 档案

摘要:在CLR中为了将一个值类型转换成一个引用类型,要使用一个名为装箱的机制。 下面总结了对值类型的一个实例进行装箱操作时内部发生的事: 1)在托管堆中分配好内存。分配的内存量是值类型的各个字段需要的内存量加上托管堆上的所有对象都有的两个额外成员(类型对象指针和同步块索引)需要的内存量。 2)值类型... 阅读全文
posted @ 2015-08-18 23:15 Jarvis_Wu 阅读(322) 评论(0) 推荐(0)
摘要:CLR支持两种类型:引用类型和值类型。 虽然FCL中大多数都是引用类型,但开发人员用的最多的还是值类型。引用类型总是在托管堆上分配的,C#的new操作符会返回对象的内存地址——也就是指向对象数据的内存地址。 使用引用类型必须注意到一些性能问题,首先考虑一下事实: 1)内存必须从托管堆上分配。 ... 阅读全文
posted @ 2015-08-11 22:52 Jarvis_Wu 阅读(245) 评论(0) 推荐(0)
摘要:这篇我想解释的内容主要是关于类型、对象、线程栈以及托管堆在运行时候的相互关系。我们都知道在编程语言进入某个方法时,大多数的做法都是在当前的线程栈当中将返回地址压入栈中,当方法运行完后再依次进行出栈直到最外层的调用。这样就能实现保存入口时的地址和程序进入方法前的状态。.Net中也是这样实现的,现在有以... 阅读全文
posted @ 2015-08-02 17:19 Jarvis_Wu 阅读(223) 评论(0) 推荐(0)