zoukankan      html  css  js  c++  java
  • 2019年7月5日 .Net Framework简介

    ---恢复内容开始---

     今天是学习C#高级特征及项目实战的第一天 今天重点学习了.Net Framework 大部分都是理论知识 下面我着重的讲一下今天所学的知识点:

    1..Net Framework 是为其运行的应用程序提供各种服务的托管执行环境。包括两个主要控件 公共语言运行时 CLR 以及.Net Frameword类库

    2.CTS是通用类型系统(Common Type System)

    3.CLS是公共语言定义(Common Language Specification)

    4.CLR是公共语言运行时(Common Language runtime)

    5.CL;R继承了很多种语言,他们之间可以互相访问,是因为CLR简历的标准的类型集、元数据、公共执行环境 由于语言之间存在着极大区别 区分大小写 有的不支持unsigned

    6.Language complier 语言编译器 每种语言基于.net都会有一个面向CLR的托管模块,也可以理解为语言编译器 把对应的语言变异成MSIL

    7.JIT即时编译 将MSIL解释为程序可以理解的语言

    8.CLR的执行模块

    (1)将源代码(vb cs)变异成托管代码块 托管代码块由中间语言和元数据组成

    (2)将托管代码合并成程序集 也叫组件(dll) 程序集包含了一张叫做“清单”的模块 记录了构成程序集模块构成的信息包括资源文件及需要引用自己的信息

    (3)加载公共语言运行库

    (4)执行程序集的代码

    (5)生成本地代码

    9.CLI公共语言基础架构 是一个开放的技术架构 CLI是一种规范 而CLR则是对这种规范的一个实现

    10.BCL基础类库

    11F.CL框架类库

    12.托管代码与非托管代码的区别

    (1)托管代码是一种中间语言 运行在CLR上

    非托管代码被变异成机器码 运行在机器上

    (2)托管代码度伊利平台和语言 能更好的实现不同语言平台之间的兼容

    非托管代码依赖于平台和语言

    (3)托管代码可享受CLR提供的服务(如安全监测、垃圾回收等)不需要自己完成这些操作

    非托管代码需要自己提供安全监测 垃圾回收等操作

    (4).Net有很多非托管的资源 比如StreamWriter、Timer、数据库连接

    13.非托管代码unsaft可以用来修饰类 类的成员函数 类的全局变量 但不能用来修饰类成员函数内的局部变量 在公共语言运行时(CLR)中,不安全代码是指无法验证的代码

    运行unsafe需要设置 单击“配置属性”文件夹

    单击“生成”属性页

    修改“允许不安全代码块”属性

    14.GC如其名 就是垃圾收集 这里仅就内存而言 GC不是能释放所有的资源 他不能自动释放非托管资源 GC不是实时性的 这将会造成系统性能上的瓶颈和不确定性

    15.元数据是一种二进制信息 用以对存储在公共语言运行库可移植可执行文件(PE)文件或存储在内存中的程序进行描述

    16.元数据存储以下信息

    程序集的说明

    类型的说明

    属性

    17..Net Framework框架体系运行概述:首先编写的C#源文件hello.cs通过C#编译器进行编译 变异成.NET的PE文件结构 也就是exe文件格式 当程序运行时 Windows的Loader加载器不会负责该程序的内存分配 线程管理等工作 而是只负责跳转到CLR的执行引擎(EE)中 将控制权交由CLR 由CLR进行分配内存 线程管理 异常处理等

    18.IL/MSIL/CIL Microsoft Intermediate Language 微软中间语言(IL是MSIL的缩写 译为中间语言)

    19.CTS通用类型系统

    20.CLS公共语言规范

    21.CLR公共语言运行时

    22.JIT即时编译器

    23.CLI公共语言基础架构

    24.BCL基础类库

    25.FCL框架类库

    ---恢复内容结束---

  • 相关阅读:
    比较全局变量、全局静态变量、局部变量、局部静态变量的区别
    《Effective C++》——条款20:宁以pass-by-reference-to-const替换pass-by-value
    《Effective C++》——条款17:以独立语句将newed对象置入智能指针
    auto_ptr类
    选择排序
    归并排序
    《Effective C++》——条款08:别让异常逃离析构函数
    使用ResourceBundle读取配置文件
    CSS cursor 属性改变鼠标的样式
    JDBC preparedStatement分页和统计,批处理和事务
  • 原文地址:https://www.cnblogs.com/hanzhuopeng/p/11140592.html
Copyright © 2011-2022 走看看