.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. BP简单的理解神经网络

    先用3类样本训练,在測试.. 刚開始学习的人有错的 地方,,请大家多多指导.. 一些好的博客: http://blog.csdn.net/starxu85/article/details/314353 ...

  2. mapxtreme演示V1.3

    mapxtreme演示V1.3   mapxtreme地图相关基本功能的演示其中包括 鹰眼地图,图层控制,发达,缩小,平移地图,地图模糊查询,中点工具,距离测量工具,面积测量工具,图元信息查看工具,各 ...

  3. html不常见问题汇总

    写html已经好长一段时间了,也遇到了不少问题,跟大家分享下 form是不可以嵌套的 说明:如果嵌套会有很多问题 但是可以并列 <html> <head> </head& ...

  4. http报错之return error code:401 unauthorized

     http报错之return error code:401 unauthorized 依据HTTP返回码所表示的意思应该是未授权,没有输入账号和password,因此解决方法就直接在HTTP包里面 ...

  5. ios 串

    1.是推断包括字符串 if( [str rangeOfString:@"hello"].location != NSNotFound) { NSLog(@"yes&quo ...

  6. js控制文本框仅仅能输入中文、英文、数字与指定特殊符号

    JS 控制文本框仅仅能输入数字 <input onkeyup="value=value.replace(/[^0-9]/g,'')"onpaste="value=v ...

  7. 【IOS 开发】Object-C 入门 Xcode 环境具体解释

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 project ...

  8. Linux内核导出符号宏定义EXPORT_SYMBOL源代码分析

    资源: <include/linux/moudule.h> --. #ifndef MODULE_SYMBOL_PREFIX #define MODULE_SYMBOL_PREFIX &q ...

  9. Learn Python More

    0, 看了一个python项目开源源码, 才知道现在这点python知识实在是弱爆了.. 尼玛就像学了2500个常用汉字, 然后要去理解"楚辞".. 代码如下, 解释一点一点从网上 ...

  10. Nyoj 天下第一(spfa)

    描述 AC_Grazy一直对江湖羡慕不已,向往着大碗吃肉大碗喝酒的豪情,但是“人在江湖漂,怎能 不挨刀",”人在江湖身不由己",如果自己的武功太差,在江湖会死的很惨,但是AC_Gr ...