关于.net那点事儿
.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那点事儿的更多相关文章
- 说说Makefile那些事儿
说说Makefile那些事儿 |扬说|透过现象看本质 工作至今,一直对Makefile半知半解.突然某天幡然醒悟,觉得此举极为不妥,只得洗心革面从头学来,以前许多不明觉厉之处顿时茅塞顿开,想想好记性不 ...
- 总结iOS开发中的断点续传那些事儿
前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...
- setTimeout那些事儿
一.setTimeout那些事儿之单线程 一直以来,大家都在说Javascript是单线程,浏览器无论在什么时候,都且只有一个线程在运行JavaScript程序. 但是,不知道大家有疑问没——就是我们 ...
- Javascript中关于cookie的那些事儿
Javascript-cookie 什么是cookie? 指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).简单点来说就是:浏览器缓存. cookie由什 ...
- webpack那些事儿
webpack那些事儿01-webpack到底是什么 webpack那些事儿02-从零开始 webpack那些事儿03-热插拔 hot webpack那些事儿04-spa项目实战分析 webpack那 ...
- 关于JSON的那些事儿
JSON的那些事儿 曾经有一段时间,XML是互联网上传输结构化数据的事实标准,其突出特点是服务器与服务器间的通信.但是业内不少人认为XML过于繁琐.冗长,后面为了解决这个问题也出现了一些方案,但是由于 ...
- MVC之前的那点事儿系列(10):MVC为什么不再需要注册通配符(*.*)了?
文章内容 很多教程里都提到了,在部署MVC程序的时候要配置通配符映射(或者是*.mvc)到aspnet_ISPAI.dll上,在.NET4.0之前确实应该这么多,但是.NET4.0之后已经不要再费事了 ...
- MVC之前的那点事儿系列(8):UrlRouting的理解
文章内容 根据对Http Runtime和Http Pipeline的分析,我们知道一个ASP.NET应用程序可以有多个HttpModuel,但是只能有一个HttpHandler,并且通过这个Http ...
- CSS知识回顾--读《CSS 那些事儿》笔记
由于之前有了解过CSS的相关知识,有了一定的基础,所以读起<CSS 那些事儿>不是很有难度,况且我现在读起来时,CSS3和HTML5比较流行,这里只是记录一些CSS知识记录,不做详细铺开, ...
- 在一个老外微信PM的眼中,中国移动App UI那些事儿
本文编译自Dan Grover的博客,他现在是腾讯微信的产品经理.以下是他从旧金山搬到广州后的近半年时间里,在试用过微信微博等中国主流移动App后,总结出的中美App在设计理念上的差异,并对中国移动A ...
随机推荐
- UVA 11021 - Tribles(概率)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=481&page=s ...
- PHPBB 学习
Fixing incorrect cookie settings 设置PHPBB的cookie
- HTML5吧!少年
一.为了能使IE9以下的IE浏览器也能支持html5的标签,所以首先得在文档头部用条件注释的方法引入那段著名的代码. 1 2 3 <!--[if lt IE 9]> <script ...
- 【C#4.0图解教程】笔记(第1章~第8章)
第1章 C#和.NET框架 1..NET框架的组成 .NET框架由三部分组成(严格来说只有CLR和FCL(框架类库)两部分),如图 执行环境称为:CLR(公共语言运行库),它在运行期管理程序的执行. ...
- SpringMVC学习记录
1E)Spring MVC框架 ①Jar包结构: docs+libs+schema. 版本区别:核心包,源码包. SpringMVC文档学习: 学习三步骤: 1)是什么? 开源框架 2)做什么? IO ...
- 自定义函数实现NULL值替换
数据库环境:SQL SERVER 2005 有时候,想将查询查询数来的数据格式化一下,不希望显示NULL值,或者复制表的数据时,被插入的表不允许有NULL. 我们可以通过ISNULL()函数或者COA ...
- oracle 11G创建表空间、用户、配置监听和TNS
最近总在安装各种版本的oralce数据库做测试,11G,32位的,64位的,12C的,每次都折腾表空间,用户.tns啥的,这里记录下,再也不用现用现百度找了 一.创建表空间.用户 在plsql工具中 ...
- C++ Txt文档写入
void writefile(student *s,int n,string filepath){ ofstream myfile; if(!myfile)//有错误 { exit(1); }else ...
- (转)RPC原理详解
转自:http://www.open-open.com/lib/view/open1425797146897.html RPC功能目标 RPC的主要功能目标是让构建分布式计算(应用)更加容易,在提供强 ...
- POJ 2127 Greatest Common Increasing Subsequence -- 动态规划
题目地址:http://poj.org/problem?id=2127 Description You are given two sequences of integer numbers. Writ ...