• CLR简单理解


    .NET体系由公共语言运行库(CLR)(Common Language Runtime)和.NET Framework类库(FCL)所构成。CLR是.NET Framework 的核心执行环境,也称为.NET运行库。.NET Framework类库是一个内容丰富的类集合,它可以完成以前要通过Windows API来完成的绝大多数任务。 

    CLR主要负责托管代码的编译和运行。在.NET中代码的编译分为两个阶段:
    1.把源代码编译为Microsoft中间语言(MSIL)。
    2.CLR把MSIL编译为平台专用的代码。 
    在CLR的控制下运行的代码常常称为托管代码(managed code)。托管代码的优点: 
    1.平台无关性。源代码先编译成中间语言,运行时由CLR将中间语言编译成平台专用的代码,跟Java的字节代码一样,这样即可实现平台无关性。 
    2.提高性能。首先,MSIL比Java的字节码作用还要大,因为MSIL是即时编译的,而Java的字节码常常是解释性的,在转换为平台可执行代码的时候可能会导致性能损失。其次,.NET的即时编译器(JIT)(Just In Time)并非一次把全部代码编译完才执行,而是只编译调用的那部分代码,并把得到的这部分内部可执行代码保存起来,下次需要调用的时候无须重新编译。Microsoft认为这个过程要比一开始编译整个应用程序代码的效率高得多,因为任何程序的大部分代码实际上并不是在每次运行过程中都执行。最后,传统的编译器会优化代码,但它们的优化过程是独立于代码所运行的特定处理器的。例如Visual Studio 6优化了一台一般的Pentium机器,它所生成的代码就不能利用Pentium Ш处理器的硬件特性。而JIT与平台无关,所以它可以针对不同的机器完成不同的优化。

  • 相关阅读:
    SuperMap-iServer-单点登录功能验证(CAS)
    Oracle数据库的链接数目超标
    转载---javascript 定时器总结
    JMeter使用文档
    转载--改变ubuntu默认编码为GBK
    遥感数据下载
    Supermap iCloudManager -负载均衡
    XCode: 如何添加自定义代码片段
    imageNamed和dataWithContentsOfFile的区别(1)
    imageNamed 与 imageWithContentsOfFile的区别
  • 原文地址:https://www.cnblogs.com/gxsxc/p/10216102.html
Copyright © 2020-2023  润新知