zoukankan      html  css  js  c++  java
  • clr的执行模型(中)

    1.1   执行程序集的代码

    托管程序集包含IL和元素据。某种程度上IL可以当作面向对象的机器语言。

    为了执行方法,需要把IL转换成本机CPU指令,由clr的JIT(just-in-time,即时)编译器完成。需要注意的是:Jit将cpu指令存在内存,程序终止时,需要重新编译cpu指令。性能方面,对大多数程序JIT造成的性能损失不显著。

    1.1.1    IL与验证

    IL是基于栈的,指令需要压入与弹出。

    IL编译成cpu指令时,CLR会执行 验证(verification)的过程,检查高级IL代码,确保代码所做的一切是安全的。

    1.1.2    不安全代码

    不安全代码直接操作内存地址,并操作地址对应的字节。使用unsafe关键字标记,jit编译器会检查是否授予system.Security.permission.securitypermission权限,system.Security.permission.securitypermissionflag的falgverification标志是否设置。

    1.2   本机代码生成器 NGen.exe

    优点:

    (1)提高运行程序启动速度

    (2)减少应用程序的工作集

    缺点:

    (1)没有知识产权保护

    (2)生成的文件可能失去同步

    (3)较差的执行时性能

    1.3   Framework类库

    System 包含基本类型

    System.Data 数据库通信与处理数据

    System.io 执行流、浏览目录/文件

    System.net 低级网络通信,Internet协作

    System.runtime.interopservices 托管代码访问非托管代码类型,如com,dll等

    System.security 保护数据与资源的类型

    System.text 处理编码文本类型,如ascii,Unicode

    System.Threading 异步与同步资源访问类型

    System.xml 处理xml和数据

  • 相关阅读:
    自动滑块验证登录QQ-java实现
    今日校园自动提交问卷-Java实现
    文库下载实现自动化
    测试
    软件工程结课小结
    结对项目-java生成四则运算
    JS判断对象为空的三种方法
    vue 组件间 8 大通讯方式 之三 eventBus
    vue 组件间 8 大通讯方式 之二 provide/ inject ref / refs
    vue 组件间 8 大通讯方式 之一 props / $emit $children / $parent
  • 原文地址:https://www.cnblogs.com/lzcgis/p/10249818.html
Copyright © 2011-2022 走看看