.net常识

.net framework是微软为开发应用程序而创建的一个富有革命性的新平台;
 
.net可以用来开发windows应用程序,web应用程序,web服务和其它各种类型的程序。
 
.net可以用于多种语言,流行的开发语言为C#.
 
.net framework应用程序使用面向对象的编程(OPP)的方法编写,通常包含托管代码。托管代码的内存管理由.net运行库处理,其中包括垃圾回收。
 
.net framework包含了一个非常大的库,其中分类页很多,比如桌面程序库,网页库(非官方,便于理解)
 
     通用类型系统(common type system/'CTS'):一些常用的基本类型,like:int,string....,也就是基本数据类型和函数
 
     公共语言运行库(common language runtime /'CLR'):它负责.net库开发的所有应用程序的执行
 

 
.net应用程序运行过程
 
1. CIL编译-程序集
 
在编译使用.net库的时候,先把代码编译为通用中间语言(common intermediate language CIL)代码,并存储在程序集中,这个工作由.net来做(VC);
 
链接:c#代码不一定在一个文件中,可以把带代码放到多个源代码文件中,MVC思想
 
2. JIT编译
 
CIL代码生成后,just-in-time(JIT)会把CIL代码编译为专用于OS和目标机器结构的本机代码,
 
程序集:
在编译应用程序的时候,所创建的CIL代码存储在一个程序集中,程序集包含可执行的应用程序文件(.exe文件);程序集包括元信息(元数据,数据的信息),可选的资源(声音文件和图片等)。
 
3. 托管代码:
 
代码通过CIL,JIT编译后,编译任务还没有结束,还需要管理正在运行的.NET代码,管理内存,处理安全性等。
 
垃圾回收:
托管代码最重要的一个功能就是垃圾回收。这种.net方法可以确保当程序没有在使用某些内存时,就会完全释放这些内存。
 

 
.net应用程序运行图解
 
1. 使用某种.net兼容语言(如c#)编写应用程序,如图1-1;
 
2. 把代码编译为CIL,并存储在程序集中,如图1-2;
 
3. 在执行代码时(自动运行或者其他代码引用它的时候),首先必须使用JIT编译器将代码编译为兼容本机的代码,如图1-3
4. 在托管的CLR环境下运行本机代码,以及其他应用程序或进程,如图1-4
 
 

.Net Framework基础知识的更多相关文章

  1. .NET Framework基础知识总结

    之前给大家总结了java的面试几次技巧总结,同学们看了觉得还是不错,能够得到大家的认可,感觉还是挺不错的.现在又有同学来想小编索要.NET面试的总结了,好吧.谁让小编这么好呢!以下是.NET面试之框架 ...

  2. .NET Framework基础知识(五)(转载)

    .程序集:是 .NET Framework 应用程序的构造块:程序集构成了部署.版本控制.重复使用.激活范围控制和 安全权限的基本单元. .程序集的优点:版本控制问题.最终解决DLL冲突 .程序集分为 ...

  3. .NET Framework基础知识(四)(转载)

    .反射:是编程的读取与类型相关联的元数据的行为.通过读取元数据,可以了解它是什么类型以及类型的成员. 比如类中的属性,方法,事件等.所属命名空间System.Reflection. 例:using S ...

  4. .NET Framework基础知识(三)(转载)

    .正则表达式:用一串字符验证是否符合一种规范,这个规范就是正则表达式. .正则表达式中常用的元字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配空白符 \d 匹配数 ...

  5. .NET Framework基础知识(二)(转载)

    1.课外:为什么object数组可以赋值给object类型,int数组却不能赋值给int类型? 答:因为不管是什么什么数组都继承自Array,而Array又继承自object. 2.线程:是操作系统分 ...

  6. Entity Framework 基础知识走马观花

    本文目录: 一.EF中的edmx文件探秘 二.EF中的代理模式探秘 三.EF中的延迟加载与即时加载 一.EF中的edmx文件 1.1 emdx文件本质:一个XML文件 (1)通过选择以XML方式打开e ...

  7. .NET Framework 基础知识总结

    C#: 1. public:同一个程序集的任何代码或引用该程序集的其他程序集都可以访问该类型或成员 internal:同一个程序集的任何代码都可以访问该类型或成员 private :只有在结构或类中的 ...

  8. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  9. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

随机推荐

  1. Mapxtreme C#鹰眼地图

    Demo演示程序下载地址: http://pan.baidu.com/s/1jG9gKMM#dir/path=%2F%E4%BA%A7%E5%93%81%2FDemos 找:EagelEyeMap.r ...

  2. hadoop-mapreduce在maptask执行分析

    MapTask执行通过执行.run方法: 1.生成TaskAttemptContextImpl实例,此实例中的Configuration就是job本身. 2.得到用户定义的Mapper实现类,也就是m ...

  3. Web Host消息处理管道

    Web Host消息处理管道 前言 我们知道Web API本身是无法提供请求-响应的机制,它是通过Web Host以及Self Host的寄宿的宿主方式来提供一个请求-响应的运行环境.二者都是将请求和 ...

  4. [Sqlite] --> Sqlite于Windows、Linux 和 Mac OS X 在安装过程

    一个:于 Windows 安装 SQLite  1,下载 请訪问SQLite下载页面http://www.sqlite.org/download.html.从Windows 区下载预编译的二进制文件. ...

  5. hdu 1025 Constructing Roads In JGShining’s Kingdom 【dp+二分法】

    主题链接:pid=1025">http://acm.acmcoder.com/showproblem.php?pid=1025 题意:本求最长公共子序列.但数据太多. 转化为求最长不下 ...

  6. 重写IHttpHandler,实现前后端分离

    再说重写IHttpHandler,实现前后端分离   aspx页面第一次加载时,HttpHandler 里面是如何编译指定页面的呢?Framework提供了编译页面的API如下: BuildManag ...

  7. ios7 JavaScriptCore.framework

    曾经想要oc调用js代码通常是通过uiwebview的stringByEvaluatingJavaScriptFromString方法,或是直接使用JavaScriptCore引擎,比如https:/ ...

  8. 2014辛星完全解读html第五节

    员,那么肯定会知道什么叫表单,这里我们就介绍一下前台怎样使用表单.表单的使用也是我们编写网页的必须经历的一关.并且,表单也往往是我们站点的漏洞和弱点出现的地方. *************表单**** ...

  9. 在vc正在使用xtremetoolkit接口库-----使用简单的控制

    首先,我们需要在StdAfx.h增加头文件: #include "XTToolkitPro.h" #include "XTPResource.h" 在test. ...

  10. zTree市县实现三个梯级DAO接口测试

    zTree市县实现三个梯级DAO接口测试 ProvinceDaoTest.java: /** * @Title:ProvinceDaoTest.java * @Package:com.gwtjs.da ...