NET网页编程之CLR-编译与注释实行
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。1、CLR概述CLR次要卖力托管代码的编译和运转。在.NET中代码的编译分为两个阶段:
1.把源代码编译为Microsoft两头言语(MSIL)。
2.CLR把MSIL编译为平台公用的代码。
在CLR的把持下运转的代码经常称为托管代码(managedcode)。托管代码的长处:
1.平台有关性。源代码先编译成两头言语,运转时由CLR将两头言语编译成平台公用的代码,跟Java的字节代码一样,如许便可完成平台有关性。
2.进步功能。起首,MSIL比Java的字节码感化还要年夜,由于MSIL是立即编译的,而Java的字节码经常是注释性的,在转换为平台可实行代码的时分大概会招致功能丧失。其次,.NET的立即编译器(JIT)(JustInTime)并不是一次把全体代码编译完才实行,而是只编译挪用的那部分代码,并把失掉的这部份内部可实行代码保留起来,下次必要挪用的时分不必从头编译。Microsoft以为这个历程要比一入手下手编译全部使用程序代码的效力高很多,由于任何程序的年夜部分代码实践上并非在每次运转过程当中都实行。最初,传统的编译器会优化代码,但它们的优化历程是自力于代码所运转的特定处置器的。比方VisualStudio6优化了一台一样平常的Pentium呆板,它所天生的代码就不克不及使用PentiumШ处置器的硬件特征。而JIT与平台有关,以是它能够针对分歧的呆板完成分歧的优化。
java是注释型的言语,由于固然java也必要编译,编译成.class文件,可是并非呆板能够辨认的言语,而是字节码,终极仍是必要jvm的注释,才干在各个平台实行,这同时也是java跨平台的缘故原由。以是但是说java便是编译型的,也是注释型,可是假如非要回类的话,从观点上的界说,生怕java应当回到注释型的言语中。
盘算机不克不及间接了解初级言语,只能间接了解呆板言语,以是必需要把初级言语翻译成呆板言语,盘算机才干实行初级言语编写的程序。翻译的体例有两种,一个是编译,一个是注释。
1).编译型言语写的程序实行之前,必要一个专门的编译历程,把程序编译成为呆板言语的文件,好比exe文件,今后要运转的话就不必从头翻译了,间接利用编译的了局就好了(exe文件),由于翻译只做了一次,运转时不必要翻译,以是编译型言语的程序实行效力高。
2).注释则分歧,注释性言语的程序不必要编译,省了道工序,注释性言语在运转程序的时分才翻译,好比注释性basic言语,专门有一个注释器可以间接实行basic程序,每一个语句都是实行的时分才翻译。如许注释性言语每实行一次就要翻译一次,效力对照低。
编译型言语息争释型言语的区分:前者因为程序实行速率快,一律前提下对体系请求较低,因而像开辟操纵体系、年夜型使用程序、数据库体系等时都接纳它,像C/C++、Pascal/ObjectPascal(Delphi)、VB等基础都可视为编译言语;而一些网页剧本、服务器剧本及帮助开辟接口如许的对速率请求不高、对分歧体系平台间的兼容性有必定请求的程序则一般利用注释性言语,如Java、JavaScript、VBScript、Perl、Python、MATLAB等等。你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:) asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。 ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
页:
[1]