您的位置:首页 > 编程语言 > C#

C# - 程序的执行

2016-01-07 11:20 435 查看
C#并不被编译成为能够直接在计算机上执行的二进制本地代码。与Java类似,它被编译成为中间代码(Microsoft Intermediate Language),然后通过.NET Framework的虚拟机——被称之为通用语言运行库——执行。

所有的.Net编程语言都被编译成这种被称为通用中间语言的中间代码。因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。如果计算机上没有安装.Net Framework,那么这些程序会弹出对话框,要求用户下载.net framework。

在程序执行时,.Net Framework将中间代码翻译成为二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区(Buffer)中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.Net程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。

内存管理方面:
1.不要过度的使用引用。当对象还存在,那么所有相关的引用对象将不会被回收。当我们操作了引用类的一些属性后,需要明确的将引用变量设置为null。以便垃圾回收器回收这些对象。
2.使用终结器(finalizer)能使工作更容易,但尽量在必要的情况下使用。终结器(finalizer)需要花费垃圾回收器的昂贵的代价,所以必须在必要的时候使用它。一个更好的方案是使用IDisposible接口来取代终结器(finalizer)。这样做会使垃圾回收器工作的更有效率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: