.NET是什么?

.NET是开发“托管”软件的平台。

传统环境和.NET环境区别:

传统环境——先将源代码编译为包含机器代码的可执行文件,然后由操作系统加载和执行可执行文件。

.NET环境——编译器首先产生中间语言IL,然后运行时又Just In Time再编译成二进制代码。

传统编译环境和.net托管环境最大的区别就是源文件被编译了两次,第一次将机器语言编译为程序集(中间语言IL+元数据),第二次加载程序集变为二进制文件。

CLR那点事儿

前面我们提到了一个词CLR,它是一个非常重要的家伙,没了它一切免谈,接下来我们谈谈这个东东吧!

CLR提供了许多功能丰富的基础服务,并且所有语言都可以使用这些服务,当然咯所有语言是.net支持的,举几个例子吧:

.NET支持的编程语言:C++、C#、Delphi、F#、J#、VB.NET、Perl、Jscript等等,大约有30几种额。

1.阐述下下CLR的特性,好枯燥额,基础知识木有办法,Coutinue......!!!

--------拿个图解释吧,特别喜欢图,特简单--------

以上这些特性都有不同的作用,太多了,感觉百科讲得比我详细,充分发挥网络的强大吧!

2.CLR执行过程

>>>绝大多数情况下JIT编译器仅仅在代码第一次执行前被编译,编译后的二进制代码CLR会将其保存在工作集中。下次代码必须执行时,CLR首先去检查工作集,如果工作集中保存有对应的二进制代码则直接调用,如果没有就将其编译。这样做最大的好处就是大大提高效率。但是我们的内存有限,工作集会周期性的回收编译后的二进制,防止服务器负载过重。

>>>JIT编译器在方法级别上操作,其本质上与其他语言里的函数或过程相同。因此,CLR开始执行时,JIT编译器会先编译入口点Main,随后每个方法仅仅在执行前被编译。

后记

基础很重要,真心发现,各位大神有错尽管拍砖。

------如果你觉得本文对你有帮助别忘了点击右下角的推荐哦------

关于.net那点事儿的更多相关文章

  1. 说说Makefile那些事儿

    说说Makefile那些事儿 |扬说|透过现象看本质 工作至今,一直对Makefile半知半解.突然某天幡然醒悟,觉得此举极为不妥,只得洗心革面从头学来,以前许多不明觉厉之处顿时茅塞顿开,想想好记性不 ...

  2. 总结iOS开发中的断点续传那些事儿

    前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...

  3. setTimeout那些事儿

    一.setTimeout那些事儿之单线程 一直以来,大家都在说Javascript是单线程,浏览器无论在什么时候,都且只有一个线程在运行JavaScript程序. 但是,不知道大家有疑问没——就是我们 ...

  4. Javascript中关于cookie的那些事儿

    Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...

  5. webpack那些事儿

    webpack那些事儿01-webpack到底是什么 webpack那些事儿02-从零开始 webpack那些事儿03-热插拔 hot webpack那些事儿04-spa项目实战分析 webpack那 ...

  6. 关于JSON的那些事儿

    JSON的那些事儿 曾经有一段时间,XML是互联网上传输结构化数据的事实标准,其突出特点是服务器与服务器间的通信.但是业内不少人认为XML过于繁琐.冗长,后面为了解决这个问题也出现了一些方案,但是由于 ...

  7. MVC之前的那点事儿系列(10):MVC为什么不再需要注册通配符(*.*)了?

    文章内容 很多教程里都提到了,在部署MVC程序的时候要配置通配符映射(或者是*.mvc)到aspnet_ISPAI.dll上,在.NET4.0之前确实应该这么多,但是.NET4.0之后已经不要再费事了 ...

  8. MVC之前的那点事儿系列(8):UrlRouting的理解

    文章内容 根据对Http Runtime和Http Pipeline的分析,我们知道一个ASP.NET应用程序可以有多个HttpModuel,但是只能有一个HttpHandler,并且通过这个Http ...

  9. CSS知识回顾--读《CSS 那些事儿》笔记

    由于之前有了解过CSS的相关知识,有了一定的基础,所以读起<CSS 那些事儿>不是很有难度,况且我现在读起来时,CSS3和HTML5比较流行,这里只是记录一些CSS知识记录,不做详细铺开, ...

  10. 在一个老外微信PM的眼中,中国移动App UI那些事儿

    本文编译自Dan Grover的博客,他现在是腾讯微信的产品经理.以下是他从旧金山搬到广州后的近半年时间里,在试用过微信微博等中国主流移动App后,总结出的中美App在设计理念上的差异,并对中国移动A ...

随机推荐

  1. jemter接口测试之---接口测试的一些约定

      一.接口规范 1.前端请求接口 请求数据格式:appType =1&args ={json}&session =xxx&timestamp =now&sign =x ...

  2. JDK Tools - jps: JVM 进程状态工具

    jps(Java Virtual Machine Process Status Tool) 是 JDK 提供的一个显示当前所有 Java 进程实例的命令. 命令格式 jps [ options ] [ ...

  3. vi删除多行,替换,复制

    VI中的多行删除与复制 法一: 单行删除,:1(待删除行)d 多行删除 ,:1,10d 法二: 光标所在行,dd 光标所在行以下的N行,Ndd 方法1: 光标放到第6行, 输入:2yy 光标放到第9行 ...

  4. NodeJS连接MongoDB数据库时报错

    今天第一次尝试连接MongoDB数据库,具体步骤也很简单. 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb 安装成功后,通过如下 ...

  5. Spring框架中的单例Beans是线程安全的么?

    Spring框架并没有对单例bean进行任何多线程的封装处理.关于单例bean的线程安全和并发问题需要开发者自行去搞定.但实际上,大部分的Spring bean并没有可变的状态(比如Serview类和 ...

  6. 17_JSP_入门

    [JSP简述] JSP全称是Java Server Pages,它和Servlet技术一样,都是一种用于开发动态Web页面的技术. * html页面:用html写的页面 * JSP页面:用html写页 ...

  7. Mac或Linux中对Android抓包

    转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/mac-or-linux-android-caught/ 说明 首先要到http://www.charlesp ...

  8. java中的多线程——进度2

    package src;/*多线程总结:1,进程和线程的概念.    |--进程:    |--线程:2,jvm中的多线程体现.    |--主线程,垃圾回收线程,自定义线程.以及他们运行的代码的位置 ...

  9. 换行符‘\n’和回车符‘\r’

    顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符 '\n' 10 换行(newline)'\r' 13 回车(return) 也可以表示为 ...

  10. vb delphi7、2010 csharp vb.net空白测试程序

    工作中难免在网上看到一段不错的代码,希望能够拿来测试一次,为了避免每次测试都要新建一个空白测试程序,索性预先建立好,要用的时候复制一遍,然后打开直接粘贴需要测试的代码进行测试.