首页  ·  知识 ·  
Label
      编辑:  图片来源:网络

1、虚拟对象系统---VOS
它既支持过程性语言也支持面向对象的语言,同时提供一个类型丰富的系统来容纳它所支持的各

种语言的特性。对于过程性语言,它描述了值的类型并指定了类型的所有值必须遵守的规则;在

面向对象的语言方面,它统一了不同编程语言的对象模型。每一个对象在VOS中都被唯一标识以

与其他对象相区别。

2、元数据
元数据是对VOS中类型描述代码的一种称呼。在编译程序将源代码转换成为中间代码时,它将自

动生成,并与编译后的源代码共同包含在二进制代码文件中。元数据携带了源代码中类型信息的

描述,这在一定程度上解决了版本问题;程序使用的类型描述与其自身绑定在一起。
在CLR定位与装载类型时,系统通过读取并解析元数据来获得应用程序中的类型信息,JIT编译器

获得加载的类型信息后,将中间语言代码翻译成为本地代码,在此基础上根据程序或用户要求建

立类型的实例。由于整个过程中,CLR始终根据元数据建立并管理对应特定应用程序的类型,从

而保证了类型的安全性。
此外,元数据在解决方法的调用,建立运行期上下文界限等方面都有着自己的作用。而关于元数

据的一切都由.net在后台完成。

3、公共语言规范----CLS
CLS是CLR定义的语言特性集合,主要用来解决互操作问题。如果一个类库遵守CLS,那么同样遵

守CLS规范的其他变成语言将能够使用它的外部可见项。所有支持CLS并仅使用CLS中的语言特征

的组件被称为CLS组件。
在CLS中是用System.CLSCompliantAttribute类来标识一个集合或者类是否是符合CLS规范的;在

System.CLSCompliantAttriute的构造器中有一个Boolean型的返回值,代表了与之相关联的项是

否符合CLS规范。

4、虚拟执行系统----VES
VES是VOS的实现,它用来驱动运行环境。元数据的生成与使用、公用语言规范的满足性检查以及

应用程序执行过程中的内存管理均由它来完成。具体来说,VES主要完成以下功能:
(1)装入中间代码。
(2)使用JIT将中间代码转换为本地码。
(3)装入元数据。
(4)代码管理服务---包括垃圾收集器和异常处理。
(5)定制与调试服务。
(6)线程和环境管理。

本文作者:佚名 来源:http://www.bjcan.com
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的
收藏至微信