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(进行管理)

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

  • 相关阅读:
    [译]kendoui
    [LeetCode] 74 Search a 2D Matrix(二分查找)
    [LeetCode] N皇后问题
    [LeetCode] 5 Longest Palindromic Substring
    [LeetCode] 98 Validate Binary Search Tree
    [LeetCode] 119 Pascal's Triangle II
    [LeetCode] 二叉树相关题目(不完全)
    排序方法的分类和实现
    已知前序(后序)遍历序列和中序遍历序列构建二叉树(Leetcode相关题目)
    拓扑排序(附LeetCode题目)
  • 原文地址:https://www.cnblogs.com/huweijian/p/12586920.html
Copyright © 2011-2022 走看看