.NET是微软最新平台技术,是.netframeworkSDK的一种语言。编译以后生成的可执行文件被称为Assembly,即程序集他分为两个很重要的部分
1 CLR(CommonLanguageRuntime),CLR是公共语言运行时,和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。
在他的上面会有两个东西:一个是你自己写的.net应用程序+.net基底类别库他们都在这个CLR上面执行的jvm(java Virtual Machine)就很类似。()
将生成的中间级的代码翻译出来变成可以执行的代码。在.net平台上面也是有这样的一个东西可以将.net的应用程序转换成到不同的平台上面都可以稍加修改就可以运行起来的程序就是CLR。
其实.net应用程序生成的就以一种中间码不可以单独的运行,这些中间码都是在CLR的上面进行执行的,当然你想去选择什么样的语言进行编程的时候就看你对语言的熟悉程度了,那个语言熟悉就要那个就行了。如图所示:
2 BCL(Base Class Library)是微软所提出的一组标准函式库可提供.
主要的作用就是加速开发解决方案的速度不需要从头做起,因为BCL也是在CLR上面运行的,所以选择哪种语言所选用的函数库都是兼容的。他的程式库中也分为一些部分,如图:
说道这里其实你所有的应用程序都是元件组成的,包括CLR和BCL都是由元件组成的,其实真正的在.net上面运行的程序主要就是运用这张图里面的元件组合共同
执行来完成的。如图:
1 硬件部分
2JIT Compiler(Just-in-time Compiler) 即时编译,经过编译后的程式,被优化成相当精简 的原生型指令码(native code)也就是真正要去执行的文档。
3 整个的CLR其实也是一个元件MscoreE.DLL
4 整个的基底类别库也是一个元件 MSCORLIB.DLL
5 你自己编写的应用程序.exe元件或是.dll元件
6 其他的元件
其实一个应用程序都就是有无数的元件组成的,只是在这个平台上面有了好多的以前一些难以解决的问题,在这里面一一解决了,这些东西给我们的编程的人员带来了越来越多的方便和好处。总的来说这个平台的强大的功能真的是让我对于编程来说有了一个更新的认识,对这个世界的期待也就越来越多了。