关闭

对.net framework的理解

464人阅读 评论(0) 收藏 举报
分类:
.net framework主要包含一个庞大的代码库,在VS中所有的自己写的代码都直接或者间接的使用.net framework,那么这些代码是怎么运行的呢,首先,在VS环境下,首先把使用.net framework的编写的代码编译成通用中间语言CIL,而这种中间语言,就算是在windows平台上也不能直接运行,然而,要执行这些代码,必须依靠另外一个编译器,JIT(just-in-time),这个编译器把CIL编译为当前系统可以运行的代码,根据just-in-time这个单词,我个人理解是仅仅在需要是才会去编译,这也是我对别人说为什么.net的代码的运行速度慢的个人理解,然后代码就可以在当前机器上运行,然而,还有一个工具CLR在管理这些代码,管理的方式也就是管理内存,本人是做C#开发的,C#也是基于.net framework的一种语言,所以说我们的代码都是CLR在管理,为什么要CLR来管理我们的代码呢,最大的一个优点就是CLR有一个垃圾回收功能,在我们编写代码时,所有的代码都是存储在内存中的,服务器的内存是多么的重要,那么我们每次定义一个变量,或者一个datable时,也就是在内存中开辟一块内存空间,那么这一块内存空间什么时候清空呢(被释放),CLR会定期的检查内存他托管的代码,然后把不需要的内容释放掉,这样,我们程序员就不需要手动的去释放空间,而具体过多长时间检查一次,这个没有一个具体的时间,当然,一个高质量的程序,我们最好手动的释放内存,所有的直接或者间接继承IDisposable 接口的对象(非托管对象)都可以调用Dispose 此方法去释放内存。
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34522次
    • 积分:667
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:157篇
    • 译文:0篇
    • 评论:0条
    文章分类