zoukankan      html  css  js  c++  java
  • 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与平台无关,所以它可以针对不同的机器完成不同的优化。

  • 相关阅读:
    spring 事务传播说明
    Python 之 plt.rcParams[]
    三维函数的可视化 密度图和等高线图
    matplotlib.pyplot contourf()函数的使用
    matplotlib 中添加参考区, axhspan() 函数和 axvspan() 函数
    matplotlib 中修改图例中的标记符显示数量
    matplotlib 的点线样式
    Serif 和 Sans-serif 字体的区别
    用柱状图体验 pyecharts 的不同主题样式
    下载连接
  • 原文地址:https://www.cnblogs.com/gxsxc/p/10216102.html
Copyright © 2011-2022 走看看