AppDomain: 相当于OS的进程,每个AppDomain代表一个独立运行的程序体,他们有独立的内存分配,一个AppDomain内的错误不会影响其它的AppDomain。Heap: 引用类型和boxed值类型变量的内存分配都是在堆里进行的。Attribute: 副在类型/对象上的附加类型信息,可以由用户定义,由包括CLR在内.NET或用户提供的工具读取利用。

解决方案 »

  1.   

    域:类似OS的Process,是Runtime进行支援分配的一个单位,在同一AppDomain的assembly用相同的权限,在同一地址空间操作。process是OS分配资源(内存,io,cpu time ....)的单位。一个process可以包含很多AppDomain.堆:heap,对应于stack(栈)。heap是全局数据块的分配空间。stack对应时方法调用产生的概念。在方法调用时,系统会把调用者的数据压入stack,当调用返回时,灾区数据。函数内也可在这里分配内存空间,当然,一旦函数返回,所有的数据都会被抛弃。在.Net中,Refer Type分配在heap.value type 分配在stack.所以为了提高速度,尽量使用Value Type(struct,int,enum....).注意的一点时,你不能传递value type 的引用到函数之外。特性:一个非常重要的特性。(建议提到这些特有名词时使用英语,因没有统一的译法,容易引起误解)副在类型/对象上的附加类型信息,可以由用户定义,由包括CLR在内.NET或用户提供的工具读取利用。MIcrosoft把Attribute用在每一个可能平台相关的地方,而不是把平台相关部分内置于语言。通过这样,.Net可以很容易的实现跨平台。彻底的跨平台,在不同language,不同OS,不同硬件,甚至不一定是PC机如PDA,Pocket PC,嵌入式,大型机......没有实现只不过是microsoft现在还不想。