zoukankan      html  css  js  c++  java
  • .Net Framework简介

    1  平台简介

      .Net Framework采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多语言的开发。.Net 也为应用程序接口提供了新功能和开发工具,这个革新是的程序员可以同时进行windows应用软件和网络应用软件以及组件和服务(web 服务)的开发。

    2  .Net Framework的内容

      .Net Framework一般而言可以将其技术分为规范和实现两部分;其中实现部分包括被人所熟知的CLR(公共语言运行库)FCL(.Net 框架类库);而规范即CLI(公共语言架构)包括CTS(Common Type System--通用类型系统)CLS(Common Language Specification--公共语言规范)CIL(Common Intermediate Language--通用中间语言以前也称为的MSIL)。两者之间的关系如图2-1:

                                                                      图2-1                                                                                图2-2

    • CLR(公共语言运行库):和java虚拟机一样也是也是一个运行时环境,它负责资源管理(内存分配[类型的内存分配]和垃圾回收[GC],并保证应用和底层操作系统之间的必要分离。其核心功能包括:内存管理、程序集加载、安全性、异常处理和线程同步。
    • FCL(.Net类库):为.Net Framework两个核心组件之一。FCL集合了上千组可再利用的类、接口和值类型。BCL(Base Class Libraries)是FCL的一部分,提供了多数的基础功能,其中包括namespaces System,System.CodeDom,System.Collections,System.Diagnostics,System.Globalization,System IO,System.Resources,System.Text,和System.Text.RegularExpressions的类
    • CTS(通用类型系统):定义了如何在运行库中声明、使用和管理类型,同时也是在运行库下支持各语言之间进行交互操作。(PS:CTS定义了在MSIL中使用的预定义类型,.Net 语言将代码解释成中间语言,其原因.Net 编译器是遵循CLS[公共语言规范]实现的)。
    • CLS(公共语言规范):和通用类型系统一起确保语言的互操作型。
    • CIL(通用中间语言):是一种属于通用语言框架和.Net框架的低阶的人类可读的编程语言。

      CTS(通用类型系统)建立一个支持跨语言的集成,是不通语言编写的代码直接能够交互使用。CTS可以分为两大类:值类型和引用类型,同事两种类型之间可以进行强制转换,这种转换成为Boxing(装箱)和UnBoxing(拆箱)。从图2-2可以看出通用类型系统的基本结构,CTS的每一种类型都是对象,并继承一个基类System.Object。对于值类型和引用类型的内容将会在下篇进行解释。

    3  .Net Framework 编写应用程序的些许概念

    3.1  概念

    • JIT(Just-In-Time):将CIL编译为专用于操作系统和目标机器结构的本机代码,在需要时才会进行编译
    • 程序集:在编译期间,将CIL代码、元信息(即程序集中包含的数据的信息)、可选资源(CIL使用的其他数据,eg:图片)存储在程序集中,程序集包括可执行的应用程序(.exe)和其他应用程序的库(.dll)

    3.2 编译和运行处理

      利用.Net Framework编写的代码时,不是将代码直接创建为OS的本机代码,而是将源码编译成CIL,存储在程序集里面,在执行代码时必须使用JIT编译器将代码编译为本机代码,最后在托管的CLR环境下运行本机代码,以及其他应用程序,并且在CLR管理正在执行的用.NetFramework编写的代码,这个执行代码的阶段通常被称为运行时(Runtime)。编译过程如图3-1所示

    图3-1

    PS:

      第一次写博客,还真是挺累人的。若有什么错误请指正,倘若觉得不错请点击下推荐,谢谢。

      参考文献

      百度百科

      微软中国社区

      《C#入门经典》

      《你必须知道的.Net》

  • 相关阅读:
    ubuntu远程windows桌面
    spring boot 给返回值加状态 BaseData
    spring boot 拦截异常 统一处理
    IntelliJ IDEA spring boot 远程Ddbug调试
    IntelliJ IDEA 常用插件
    spring boot 请求地址带有.json 兼容处理
    spring boot 接口返回值去掉为null的字段
    spring boot 集成disconf
    Spring boot 自定义拦截器
    Linux下安装MySQL
  • 原文地址:https://www.cnblogs.com/luge/p/CSharp_NetFramework_Brief.html
Copyright © 2011-2022 走看看