C# 基础知识

CTS 通用类型系统  各语言间交互操作  比如INT.32

CLR 公共语言运行库  负责管理所有应用程序的执行

CIL  中间语言代码  C#代码执行前下面编译成中间语言(更底层的代码不区分于系统) 不是立即创建机器可执行的二进制代码

JIT  表示这块代码需要时在进行编译  加快应用编译速度

程序集   CIL代码保存在程序集 可以是可直接运行的应用程序.exe或其他应用程序使用的类库.dll  各语言都可调用,反编译成当前语言

元数据   程序集中包含的数据信息(通用类型系统中的类型和类型实例 比如 int =30.)和可选资源(图片,声音文件)可以自描述  就是部署的时候不需要将数据信息添加到系统注册表中,复制粘贴过去就行

GAC 全局程序集缓存   将重复利用的代码放在这里   放在该缓存的目录即可

托管代码  即CLR管理着程序 管理这JIT编译的CIL代码 主要管理内存,处理安全性和跨语言调试等。  非托管代码 就是编写的程序可以访问操作系统的底层功能。托管代码就是与操作系统的底层功能交互由CLR完成

垃圾回收  托管代码最重要的功能是垃圾回收。扫描内存中不用的应用程序删除。以前是程序员自己控制的垃圾回收。容易出现错误。垃圾回收机制回定期的扫描计算机内存,删除不必要的。不定时有可能1秒几千次。也有可能几秒才一次。 所以需要很多内存运行的代码 要在调用我自己进行垃圾回收。

 

C#--->CIL(存储在程序集中)--》JIT(编译成本机代码)-->CLR(进行管理)

链接   可以把单独的源代码文件编译到一个程序集里。一人开发一部分 比整体一起编译快 编译一小块比编译一大块快  每个人开发代码互不影响

posted @ 2020-03-28 13:10  huweijian  阅读(116)  评论(0编辑  收藏  举报