zoukankan      html  css  js  c++  java
  • C#高级特性

    Msad的解释 .netFramework是为其运行的应用程序提供各种服务的托管执行环境 主要组件公共语言运行时(CLR) 和.Net Framework.

    托管代码和非托管代码

    托管代码就是Visual Baseic .NET和C#编译器编译出来的代码,托管代码在公共语言运行库(CLR)中运行
    非托管代码是运行在公共语言运行库环境(CLR)的外部,由操作系统直接执行的代码。
    非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务

    区别
         1、托管代码是一种中间语言,运行在CLR上;
              非托管代码被编译为机器码,运行在机器上。
         2、托管代码独立于平台和语言,能更好的实现不同语言平台之间的兼容;
              非托管代码依赖于平台和语言。
         3、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这些操作;
              非托管代码需要自己提供安全检测、垃圾回收等操作。
     4、.Net有很多非托管的资源,比如StreamWriter、 Timer、数据库连接。

    程序集中包含了一张叫做"清单"的模块,记录了构成程序,集模块构成的信息包括资源文件及需要引用自己的信息.

    垃圾回收GC
    GC.Collect()方法 作用:强制进行垃圾回收
    GC工作原理:GC遍历应用程序在Heap(堆)上动态分配的所有对象,通过识别它们是被引用来确定哪些对象已经死亡的,
    哪些仍需要被使用,已经不再被应用程序所引用的对象就是已经死亡的对象,所谓的垃圾,需要被回收
    ①GC,并不是能释放所有资源,他不能自动释放非托管资源.
    ②GC并不是实时性的,这讲会造成系统性能能上的瓶颈和不确定性

    CTS (Common Type System)通用类型系统
    CTS定义了一个类型库,无论时Visual Basic.NET还是c#,他们的类型系统大体类似。因此.NET将各种不同的编程语言的数据类型进行抽象,就有了CTS。虽然每种编程语言都有自己的类型系统,但编译后都会转成CTS类型。不同的语言编写的程序直间可以相互操作。Vb的integer而C#的System.Int32都对应CTS的System.Int32类型。
    CTS类型主要分成两大类:引用类型和值类型,这两个类型可以相互转换,方法是装箱和拆箱。
    CLS (Common Language Specification)公共语言规范
    公共语言运行库支持的语言功能的子集,包括几种面向对象的编程语言的通用功能。符合 CLS 的组件和工具能够保证与其他符合 CLS 的组件和工具交互操作。
    CLR (Common Language Runtime)公共语言运行时(也有的叫公共语言运行库)
    CLR叫做公共语言运行时(Common Language Runtime),它是所有.NET应用程序运行时环境,是所有.NET应用程序都使用的编程基础,它如同一个支持.NET Framework,
    运行一个.NET程序也必须安装。公共语言运行时遵循公共语言架构的标准,能够使C++、C# 、Visual Basic、以及JScript等多种语言深度集成。
    JIT (Just in time)即时编译器
    JIT是一种提高程序运行效率的方法。通常,程序有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,而动态解释执行的则是一句一句边运行边翻译。
    CLI 公共语言基础架构(Common Language Infrastructure)
    BCL 基础类库(Base Class Library)
    基础类库(BCL)是微软所提出的一组标准库,可提供给 .NET Framework 所有语言使用。
    FCL 框架类库(Framework Class Library)

  • 相关阅读:
    图形学中的贴图採样、走样与反走样等
    重磅公布码农界的第一张吉他专辑小样
    send,recv,sendto,recvfrom
    HttpUnit学习笔记
    2014年度辛星全然解读html第七节
    SD卡中FAT32文件格式高速入门(图文具体介绍)
    HDU-1023 Train Problem II
    Oracle之Check约束实例具体解释
    JDBC连接MySQL数据库及演示样例
    accept函数
  • 原文地址:https://www.cnblogs.com/zhuyilei/p/11140760.html
Copyright © 2011-2022 走看看