摘要:
应用程序域是.Net中的一个重要技术改进,他用于减少运行应用程序的系统开销。应用程序域是分离组件的一种方式.其方法是把任何一个进程分解到多个应用程序域中。每个应用程序域大致对应一个应用程序,执行的每个线程都运行在一个具体的应用程序域中。所以就范围而言,我自己排了个序:机器>进程>程序域>应用程序大概就是这个意思。如果应用程序需要在不同域之间通信,就要使用一些其他技术,例如WCF,它能够做到应用程序域之间,进程之间,机器之间的通信,这里就不在详细介绍了。 阅读全文
摘要:
C#编程的一个优点是程序员不需要担心具体的内存管理,垃圾回收器会自动处理所有的内存清理工作。Windows使用一个系统:虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址上,这些任务完全由Windows在后台管理。每个进程都能够使用4GB的内存空间(32位)。4GB的内存包含了程序的所有部分,包括可执行代码,代码加载的所有DLL,以及程序运行时使用的所有变量的内容。虚拟内存中有一个栈,管理值数据类型。那么引用类型如何管理,接下来看代码Stu s;//申明了一个Stu的引用,在栈上给这个引用分配存储空间,但这仅仅是一个引用,而不是Stu对象 s = new ... 阅读全文
摘要:
在.Net中,编译分为两个阶段(1)把源代码编译为Microsoft中间语言(IL)。(2)CLR把IL编译为平台专用代码。中间语言中间语言主要特性面向对象和使用接口值类型和引用类型之间的显著差异强数据类型化使用异常来处理错误使用特性垃圾回收Windows平台已经使用了两种技术来释放进程向系统动态请求的内存:(1)完全以手工方式使应用程序完成这些工作(2)让对象维护引用计数。.Net运行库采用的方法是垃圾回收库,这是一个程序,其目的就是清理内存。每隔一段时间,当.Net检测到给定的进程托管堆已满,需要清理时,就调用垃圾回收器,检测哪些对象的引用技术为0. 阅读全文