• .net组件技术


    .NET是什么?

      •.NET是一个平台,而不是一种语言。
      •.NET是Microsoft的用以创建XML Web服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。
     

    公共语言运行库(CLR)

      •公共语言运行库,即Common Language Runtime,简称CLR。
     
      •CLR是.NET Framework的核心,通常在CLR控制下运行的代码称为托管代码(managed code)
     
      •在CLR执行编写好的源代码之前,需要编译它们。在.NET中编译分为两个阶段:
        1、把源代码编译为Microsoft中间语言(IL);
        2、CLR把IL编译为平台专用的代码。
     

    .NET中的编译过程(CLR)

    中间语言(IL)

      •Microsoft中间语言和java字节码一样都是低级语言,语法简单,能快速转换为本地机器码。这种设计的通用语法有很重要的优点:平台无关性、提高性能和语言的互操作性。
     
      •中间语言的主要特征:
          1、面向对象和使用接口
        2、值类型和引用类型之间的显著差异
        3、强数据类型化
        4、异常处理
        5、使用特性
     

    通用类型系统(CTS)

      •CTS定义了可以在IL中使用的预定义数据类型,所有面向.NET Framework的语言都可以生成基于这些类型的编译代码。
      •例子:假定VB定义的一个类中包含一个返回值为Integer类型的方法,C#定义的一个类包含这个类的一个实例,要它的调用返回值为Integer类型的方法,而C#中没有名称为Integer的数据类型,这个问题在.NET中是怎么处理的呢?
      •对于这个问题,VB中的Integer实际上是一个32位有符号的整数,它实际映射为中间语言类型int32,因此在IL代码中就指定这种数据类型,C#编译器就可以使用这种类型,所以就不会有问题了。
      •CTS不仅指定了基本数据类型,还定义了一个类型层次结构,其中包含设计合理的位置,在这些位置上,代码允许定义自己的类型。
     
      
     

    公共语言规范(CLS)

      •公共语言规范(Common Language Specification, CLS)和通用类型系统一起确保语言的互操作性。
      •CLS是一个最低标准集,所有面向.NET的编译器都必须支持它。
      •例子:IL是区分大小写的语言,但VB是不区分大小写的语言。CLS通过指定CLS兼容代码不适用任何只根据大小写区分的名称,解决了不区分大小写的问题。因此,VB代码可以与CLS兼容代码一起使用。
     
      •CLS的两种工作方式:
        1、各个编译器的功能不必强大到支持.NET的所用功能;
        2、如果限制类只能使用CLS兼容的特性,就要保证用其他兼容语言编写的代码可以使用这个类。
     

    程序集(Assembly)

      •程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。
     
      •程序集是完全自描述的,它是一个逻辑单元而不是物理单元,可以存储在多个文件中。如果一个程序集存储在多个文件中,其中就会有一个包含入口点的主文件,该文件描述了程序集中的其他文件。
     
      •程序集的结构:
        1、程序集元数据
        2、类型元数据
        3、MSIL代码
        4、资源
     
     
     
     
     
      
  • 相关阅读:
    SpringBoot自动配置原理(七)
    SpringBoot 集成Shiro
    Shiro配置跳过权限验证
    rsync+ssh同步备份文件
    okhttp3设置代理(http/https)
    Spring RestTemplete支持Https安全请求
    电商课题V:分布式锁
    电商课题:对付秒杀器等恶意访问行为的简单梳理
    电商课题:客户端的IP地址伪造、CDN、反向代理、获取的那些事儿
    电商课题I:集群环境下业务限流
  • 原文地址:https://www.cnblogs.com/luonet/p/4086487.html
Copyright © 2020-2023  润新知