【读书笔记】.NET本质论
引自: http://www.cnblogs.com/yuyijq/category/187749.html
摘要: 上一篇简单的叙说了一下不同类型内存分配的问题,以及如何在源代码上控制内存的布局,以及值类型分配的问题。本篇首先讨论对象的结构,使用Visual Studio + SOS探索一下MethodTable和EEClass可以提供给我们的信息。提供一个感性的认识,为后面从源代码分析提供基础。 阅读全文
摘要: 在上一章中主要探讨的是CTS中的类型,基本上是类型的“静态结构”,本章将主要涉及类型的运行时结构。你定义了一个类型,然后实例化它,那么它在内存中的布局到底是什么样子的呢?声明一个类型到底占多少内存?是分配在堆上还是栈上?等等。 阅读全文
摘要: 本文讨论了Base Type相关知识,包括hide-by-signature与hide-by-name,继承树上构造函数的调用等内容。通过本篇文章,期望能对基类和派生类有一个更详细的了解。 阅读全文
摘要: 本篇是.NET本质论读书笔记的第三章的第二部分,主要讨论一些静态的东西。将从IL以及Ecma-335等方面聊一聊.net里的静态类,类型初始化器。 阅读全文
摘要: 在第二章讨论的是组件(模块、程序集)。当我们考虑如何划分模块的时候,往往考虑更多的是如何组织一个类型,一个类型里该有哪些成员呢?类型才是我们在设计时的最小“思考单元”。本章就是讨论类型的一些基础概念的。 阅读全文
摘要: 这是《.NET本质论》的第二章的第四篇读书笔记,也是本章最后一篇读书笔记。这篇主要讲解Assembly Resolver如何找到正确的程序集。从版本策略开始,到probing结束。从这个探测的过程可以看出,我们在部署程序的时候应该尽量减少歧义,应该唯一的限定程序集,减少加载的时候消耗的时间。 阅读全文
摘要: 《.NET本质论》读书笔记,这是本书的第二章,讲述程序集的加载。这篇博客主要说明程序集的静态引用和动态引用,Load和LoadFrom的不同。下一篇将详细的说明程序集加载的步骤。 阅读全文