什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式?
深入详细理解 大神链接:https://www.cnblogs.com/1996V/p/9037603.html#net1
自述简便归纳:
1.1:.net 是微软的新一代技术平台,为敏捷商务构建互联互通的系统,这些系统是标准的,联通的,适应变化的,稳定和高性能的。
1.2:CLI:通用语言基础结构(Common language infrastructure )作用:CLI为IL代码提供运行的环境。
1.3:CLR:公共语言运行时(common language) ,作用:管理着代码的执行。
1.4:IL:IL是微软.NET平台上衍生出来的一门中间语言
1.5:JIT:JIT(Just In Time简称JIT)是.Net边运行边编译的一种机制。 作用:虽然CLR理解IL,但是CPU只认识二进制指令, 所以CLR需要JIT的帮助, 将IL翻译成CPU指令.
1.6:GC:.NET Framework 的垃圾回收器管理应用程序的内存分配和释放
1.7:GC 工作方式:每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存
得之坦然,失之淡然,争其必然,顺其自然