.net 概念

.net 初级概念

.net概念?

.net 是一个开发框架,由微软公司开发,利用.net我们可以开发出桌面窗口程序,web程序。
我们可以通过visual stdio 开发工具来编辑.net程序。
.net应用是基于.net framework类库编写的程序,运行在公共语言库上的应用程序。

什么是CLR

CLR 是公共语言运行库,是.net语言的运行环境。
CLR的核心功能包括:内存管理 程序集加载 安全性 异常处理 线程同步
CLR是.net 的主要执行引擎

什么是CLI

CLI 是CLR的子集,.net代码会最终编译为MSIL代码的应用程序。
CLI为IL代码提供运行环境,我们可以使用任何语言编码代码,然后将代码通过特定的编译器转换为MSIL代码,然后就可以将代码运行在CLI上。
CLI包含 类加载器 (class loader) ,实时编译器 和一个运行时环境的垃圾收集器。

什么是JIT?

JIT :just in timeCompiler 即时编译
.net中将语言先编译为中间语言IL,需要运行时,通过JIT即时编译,来解释程序。

GC :

GC就是.net中的内存回收机制,.net会将一段时间内没有使用的内存进行自动回收.
GC 会回收.net托管资源,非托管资源不会被GC回收,使用时,需要注意:
非托管资源:
ApplicationContext, Brush, Component, ComponentDesigner, Container,
Context, Cursor, FileStream, Font, Icon, Image, Matrix,
Object, OdbcDataReader, OleDBDataReader, Pen, Regex, Socket, StreamWriter,
Timer, Tooltip, 文件句柄, GDI资源, 数据库连接