zoukankan      html  css  js  c++  java
  • C# 基础知识

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    [LeetCode] Best Time to Buy and Sell Stock III
    [LeetCode] Implement strStr()
    [LeetCode] Wildcard Matching
    [LeetCode] Gray Code
    [LeetCode] Divide Two Integers
    [LeetCode] Flatten Binary Tree to Linked List
    [LeetCode] Binary Tree Maximum Path Sum
    [TopCoder][SRM] SRM 562 DIV 2
    推荐博客文章
    检测两点所确定直线上的像素坐标
  • 原文地址:https://www.cnblogs.com/huweijian/p/12586920.html
Copyright © 2011-2022 走看看