C#笔记一 .Net Framwork
参考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等.
C#笔记一 .Net Framwork的更多相关文章
- [读书笔记]C#学习笔记一: .Net Framwork
前言: 一次偶然的机会 在园子里看到@Learning hard 出版的一本书: <<C#学习笔记>>, 然后买来 一直到现在读完, 感觉很不错, 适合入门, 书中内容是从C ...
- Entity Framwork学习笔记
一.First Demo
- [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】
原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...
- IOS学习笔记25—HTTP操作之ASIHTTPRequest
IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...
- Foundation 学习笔记
笔记内容 学习笔记-段玉磊 Stanford course Foundation and Attributed Strings Dynamic binding id 是一个指向任何未知对象的指针,(t ...
- 第64节:Java中的Spring Boot 2.0简介笔记
Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...
- 第1课_Java基础知识【学习笔记】
摘要:韦东山android视频学习笔记 一.android系统的基本框架如图一所示,应用程序是用java编写的,底层驱动是用C代码写的,java与C怎么连接在一起主要是通过本地服务.android系统 ...
- Robot Framework(一)安装笔记
参考网址:https://www.cnblogs.com/yinrw/p/5837828.html因为自己安装了py,网上教程都是统一安装py2.7开始的. 所以这里总结下安装笔记:cmd命令界面进行 ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
随机推荐
- tyvj1013 - 找啊找啊找GF ——二维背包变种
题目链接:https://www.tyvj.cn/Problem_Show.aspx?id=1013 好吧,这题没节操=_= 状态f[u,v,i]表示:消费u的人民币和v的人品同时泡到i个mm所需要的 ...
- python--函数式编程--9
原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ http://www.imooc.com/learn/317 一.把函数作为参数 编写了一个简单 ...
- 1-2 ISO/OSI七层模型简介
相关名词解释: ISO:国际标准化组织 OSI:开放系统互联模型 IOS:苹果操作系统, 但是在计算机网络中,IOS是互联网操作系统,是思科公司为其网络设备开发的操作维护系统 <1>OSI ...
- mysql创建用户和创建数据库赋值用户操作权限
mysql 进入mysqldb SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; ...
- Android ——Handler相关
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- 第九章 C语言在嵌入式中的应用
上章回顾 编码的规范和程序版式 版权管理和申明 头文件结构和作用 程序命名 程序注释和代码布局规范 assert断言函数的应用 与0或NULL值的比较 内存的分配和释放细节,避免内存泄露 常量特性 g ...
- Mac OS实用技巧
→常用快捷键Win+Space Spotlight查找Win+↑ 平铺所有窗口Win+↓ 平铺当前焦点应用的所有窗口Win+←/→ 桌面之间切换 ...
- ExtJS-Viewport背景图片铺满浏览器视图并自动伸缩
var viewport = Ext.create('Ext.container.Viewport', { style : 'background-image:url(login_bj.jpg);ba ...
- 一个不错的vim配置
set nocp set backspace=indent,eol,start set number set autoindent set nocompatible set bs=indent,eol ...
- Apache Shiro 手册
(一)Shiro架构介绍 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户"登录 ...