博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#笔记一 .Net Framwork
阅读量:5159 次
发布时间:2019-06-13

本文共 1180 字,大约阅读时间需要 3 分钟。

参考Learning hard本人在博客园的主页: http://www.cnblogs.com/zhili/     

以及本书中的一些知识点: http://www.cnblogs.com/zhili/category/421637.html  

 

一: .Net Framework

1.1.Net Framework 就是应用程序运行时的执行环境, 为应用程序的执行提供一下几种服务:

  >全面的类库

  >内存管理
  >通用类型系统
  >开发结构和技术
  >语言互操作性  

1.2 .Net Framwork的组成

  1.公共语言运行时

    公共语言运行时是.Net Framwork的核心基础. 我们可以将CLR看成一个在执行时管理代码的代理, 它提供了内存管理, 线程管理和异常处理的服务, 而且还负责对代码实施严格的类型安全检查, 保证了代码的正确性. 我们将受CLR管理的代码称为托管代码(managed code), 将不受CLR管理的代码称为非托管代码(unmanaged code).

    CLR包含两个组成部分: 通用类型系统(Common Type System, CTS)和公共语言规范(Common Language Specification, CLS).

 

1.3 .Net Framwork 类库就是一组DLL程序集的集合.

 

1.4 C# 代码的执行过程

  >C#代码编译为中间语言代码的阶段

    在编译C#代码时, C#的编译器(VS中集成了C#编译器)把代码译为通用中间语言(Common Intermediate Language, CIL)代码

  >中间语言代码编译为本季代码的阶段

    要使C#代码能够运行, 还需进一步将CIL代码转换为特定CPU的机器码, 该过程由即时编译器(Just-In-Time, JIT)来完成.

  ●并不是只有C#代码才能够被编译为中间语言代码, 其他面向.Net的语言在执行之前也都需要先编译为中间语言代码. 该过程由编译器来完成.

  ●JIT编译生成本机代码之后, 编译好的代码会被放置到一个缓冲区缓存, 下次再调用相同的代码时, 可直接运行缓存区中现有的本机代码, 从而避免重新验证IL代码以及把它编译成本机代码的过程. 使用这种方法, 系统只在首次调用时才会造成一些性能损失(即发生JIT过程).

 

C#代码编译为中间语言代码阶段: 

中间语言代码编译为本机代码阶段

PS: 今天本来想写更多内容的, 但是时间已经不早了.  这里还欠缺几张图片, 明天再来补上, 有时间的话会分享一下在工作中学习的东西: 比如远程Debug, sql profiler等.

转载于:https://www.cnblogs.com/xinhuawei/p/5409043.html

你可能感兴趣的文章
高大上版解决粘包问题
查看>>
前端之BOM和DOM
查看>>
前端之JS
查看>>
前端之BootStrap
查看>>
前端之jQuery
查看>>
HTML 前端
查看>>
pycharm 导入 新安装 moudle
查看>>
ES使用text类型字段排序报错
查看>>
Core源码(二) Linq的Distinct扩展
查看>>
Core源码(三) Lazy<T>
查看>>
分库情况下的数据库连接注入
查看>>
Spring MVC
查看>>
AFO以后的机房游记
查看>>
qtableview 右键菜单弹出及获取数据
查看>>
巧用UserAgent来解决浏览器的各种问题
查看>>
log4net 开启内部调试
查看>>
Java多线程学习笔记(二)
查看>>
地图源改变之后mxd文件打开很慢的问题
查看>>
51Nod - 1013 3的幂的和
查看>>
Leetcode 492. 构造矩形
查看>>