.NET学习--了解
.net和c#:
.net是一个框架,一般称.net framework。
c#是一个.net框架下的编程语言。
缩写:
程序集:
cil(common intermediate language,公共中间语言):程序集里的执行代码。其他术语:il(intermediate language)和msil(mircosoft intermediate language)。
注:程序集中包含cil、类型信息、安全信息。
公用语言运行库:
clr(common language runtime,公用语言运行库):是.net的执行环境。包括:内存管理、异常处理、垃圾收集、反射服务、jit编译器、类加载器、安全服务。
gc(garbage collector,垃圾收集器):是clr中的一个服务,它能自动管理内存。
a. gc自动从内存中删除程序不再访问的对象。
b.释放内存和检查内存泄漏。
jit(just-in-time,即时编译器):把程序集中的可执行代码编译成本机代码。
bcl(base class library,基类库):是.net框架提供的一个基础库类。
公共语言基础结构:
cli(common language infrastructure,公共语言基础结构):是一组阐述了系统的架构,规则和约定的规范。
cts(common type system,公共类型系统):定义了那些在托管代码中一定会使用的类型的特征。
注:所有类型都继承自公共的基类-object
cls(common language specification,公共语言规范):详细说明了一个.net兼容编程语言的规则,属性和行为。
其他:
gac(global assembly cache,全局程序集缓存):作用是可以存放一些有很多程序都要用到的公共assembly。
托管代码(managed code):为.net框架编写的代码称为托管代码。
非托管代码:unsafe,不在clr控制之下运行的代码。
.net框架组成:
编程工具,clr,bcl
程序编译和运行期过程:
编译:源文件-->编译器-->程序集
运行:程序集-->clr(jit编译器)-->本机代码-->操作系统服务。
注:程序集中的可执行代码只有在被调用时才会编译成本机代码,而且只被编译一次。