随笔分类 - .net 框架设计
gc
摘要:NET内存管理、垃圾回收 1. Stack和Heap 每个线程对应一个stack,线程创建的时候CLR为其创建这个stack,stack主要作用是记录函数的执行情况。值类型变量(函数的参数、局部变量等非成员变量)都分配在stack中,引用类型的对象分配在heap中,在stack中保存heap对象的引用指针。GC只负责heap对象的释放,heap内存空间管理Heap内存分配 除去pinned ob...
阅读全文
基元类型 引用类型 值类型
摘要:基元类型:编译器直接支持的任何数据类型cheched 和unchecked C#编译器的溢出检查默认关闭,可以打开检查,但是这样代码执行会慢一些,类为clr为检查这些运算,如果有溢出就会抛出OverflowExeception异常值类型和引用类型:声明为值类型要满足以下条件之一类型的实例较小(小于16字节)类型实较大,但不作为方法参数传递,也不作为方法的返回值将一个值类型的变量赋给另一个值类型变量...
阅读全文
clr 基础
摘要:clr 公共语言运行库源代码文件经过编译器编译成托管模块((PE32或PE32+头),CLR头,中间语言,元数据)代码编译:编译器开关设置 C# IL代码质量JIT本地代码质量/optimize-/debug(默认设置)未优化 优化/optimize-/debug(+/full/pubonly)未优化未优化/optimize+/debug(-/+/full/pubonly)优化优化元数据用途:一...
阅读全文
浙公网安备 33010602011771号