zoukankan      html  css  js  c++  java
  • 关于.net的一些概念

    1. C#

    C#是由微软开发的基于.NET Framework的一种面向对象的广泛应用的高级编程语言。

    2. .NET Framework

    .NET框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。

    3. CLR

    是.NET框架的核心组件,负责管理程序的执行。

    功能:

    自动垃圾收集

    安全和认证

    通过访问BCL得到广泛的编程功能

    4. BCL,FCL

    基类库(BCL)就.NET Framework提供的基础类库。我们编写.NET程序时,可以调用它们。BCL提供的类库:

    当你通过VS创建一个项目后,你这个项目就已经引用好了通过.NET下的语言编写好的一些类库。比如控制台中你直接就可以用ConSole类来输出信息,或者using System.IO 即可通过File类对文件进行读取或写入操作,这些类都是微软帮你写好的,不用你自己去编写,它帮你编写了一个面向.NET的开发语言中使用的基本的功能,这部分类,我们称之为BCL(Base Class Library), 基础类库,它们大多都包含在System命名空间下

    1. 通用基础类

    这些类提供了一组极为强大的工具,可以应用到许多编程任务中,比如文件操作,字符串操作、安全和加密

    1. 集合类

    这些类实现了列表、字典、散列表以及位数组

    1. 线程和同步类

    这些类用于创建多线程程序

    1. XML类

    用于创建、读取以及操作XML文档

    框架类库(FCL)是更广泛的库,例如包含:ASP.NET,WinForms,XML堆栈,ADO.NET等。你可以说FCL包括BCL。

    在FCL中,除了最基础的那部分BCL之外,还包含我们常见的 如 : 用于网站开发技术的 ASP.NET类库,该子类包含webform/webpage/mvc,用于桌面开发的 WPF类库、WinForm类库,用于通信交互的WCF、asp.net web api、Web Service类库等等

    5. JIT

    JIT, just in time, 即时编译。在CLR中,把IL转换成机器代码的工作交给了JIT编译器。即时编译只在方法第一次被调用时发生。

    6. CLI,CTS,CLS

    CLS是CTS的子集,CLR是CTS的具体实现

    CLI,Common Language Infrastructure, 公用语言基础, 是一组阐述了系统的架构、规则和约定的规范。

    CTS, Common Type System, 公共类型系统。CTS规定了在托管代码中一定会使用的类型的特征,包括:类、结构、委托,类中的方法、字段、属性、事件等,还定义了一些约束,比如所有类型都隐式继承自System.Object类型。

    CLS, Common Language Specification, 公共语言规范,必须完全符合CTS的标准,是CTS的子集。

    详细说明了一个.NET兼容编程语言的规则、属性和行为,其主题包括数据类型、类结构和参数传递。

    比如C#编译生成的程序集有很多类,VB编译生成的程序集也有很多类,现在VB编译需要引用C#程序集的某个类,怎么办呢?

     我们需要让C#程序集中,需要被引用的这个类符合CLS规范,.NET为我们准备了CLSCompliant特性。

    [assembly:CLSCompliant(true)]
    public class SomeClass
    {    
    }

    7. IL

    IL,Intermediage Language,中间语言,并不是CPU可以直接执行的本地机器语言,在转换成计算机可以识别的指令之前,还要进行一个被称为"Just in time"的二次编译过程。在.NET框架下,任何语言,比如C++,VB.NET,C#,等等,在经过各自的编译器编译之后,都会被转换成中间语言。IL还有另外的2种叫法:CIL,Common Intermediate Language;MSIL, Microsoft Intermediate Language。

    8. 托管代码(managed code)和非托管代码(unmanaged code)

    托管代码:为.NET框架编写的代码,需要.NET Framework运行环境

    非托管代码:不在CLR控制之下运行的代码,比如win32 C/C++

    9. 程序集(Assembly)

    .NET语言编译器根据源代码文件生成的文件,格式dll或者exe,包括CIL,Type Metadata,Reference Metadata.

    10. Assembly Manifest 程序集清单

    11. 类型元数据

    12. 引用元数据

    13. .net core

    14.Mono与Xamarin

    15. .net standard

    “菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)

    https://www.cnblogs.com/eshizhan/archive/2010/01/26/1657041.html

    .NET学习笔记 -- 那堆名词到底是啥(CLR、CLI、CTS、CLS、IL、JIT)

    https://www.cnblogs.com/xiekeli/p/4680846.html?utm_source=tuicool

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    https://www.cnblogs.com/1996V/p/9037603.html#net1

    浅谈ASP.NET框架

    https://www.cnblogs.com/wangjiming/p/8201129.html

    .Net跨平台和.Net Framework和mono

    https://blog.csdn.net/wangligen123/article/details/86482454

    .NET Framework、.NET Core、Mono、Xamarin之间关系

    https://blog.csdn.net/MePlusPlus/article/details/76242330

    介绍 .NET Standard

    https://zhuanlan.zhihu.com/p/24267356

  • 相关阅读:
    人生转折点:弃文从理
    人生第一站:大三暑假实习僧
    监听器启动顺序和java常见注解
    java常识和好玩的注释
    182. Duplicate Emails (Easy)
    181. Employees Earning More Than Their Managers (Easy)
    180. Consecutive Numbers (Medium)
    178. Rank Scores (Medium)
    177. Nth Highest Salary (Medium)
    176. Second Highest Salary(Easy)
  • 原文地址:https://www.cnblogs.com/AlexanderZhao/p/12878926.html
Copyright © 2011-2022 走看看