asp.net是一次编译多次执行,请详细解释,我理解不动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net是一次编译多次执行,请详细解释,我理解不动相关的知识,希望对你有一定的参考价值。
当一个浏览器第一次请求一个ASPX文件时,WEB FORM页面将被CLR(common language runtime)编译器编译。此后,当再有用户访问此页面的时候,由于ASPX页面已经被编译过,所以,CLR会直接执行编译过的代码。这和ASP的情况完全不同。,,,不懂,它是在服务器端被CLR解释啊,还是客户端CLR啊?还是我第一次打开过这个页面,再打开时就直接执行CLR编译过的代码?????不懂,请教!
当一个浏览器第一次请求一个ASPX文件时,WEB FORM页面将被CLR(common language runtime)编译器编译。此后,当再有用户访问此页面的时候,由于ASPX页面已经被编译过,所以,CLR会直接执行编译过的代码re:意思是说当你的ASPX文件第一次执行的时候会被编译,如果以后再访问此页面的时候,如果这个ASPX文件没有被修改过,就不会被编译,直接执行CLR编译后的代码(所以当你的ASPX编写后第一次执行会很慢,因为在编译代码,以后再访问就会很快,因为执行的是编译后的代码)
不懂,它是在服务器端被CLR解释啊,还是客户端CLR
Re:他们都是在服务器端执行的,和客户端没有任何瓜葛。 参考技术A ASP运行机制就像鲜榨果汁,每次买的时候都要等在那里,等卖果汁的给你把水果榨成果汁,你才能喝,
ASPX运行机制就是,先把什么水果都榨成果汁,你想喝的时候就直拿榨好果汁卖给你.
所以,
你(Client)不用榨果汁;
你只需要喝果汁,你看不见水果(没有被编译之前的代码);
ASP:
每次请求一次页面就要编译一次,(每喝一次果汁,就要现榨一次水果)
ASPX:
首次请求需要编译,再次请求不用编译(你要喝果汁的时候,就把水果全给你榨成汁,放在那,再想喝的时候直接拿果汁,不用等他现榨,但榨果汁的时间比ASP要长,因为他不止给你榨一个水果.)
解释是一句一句的翻译
解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。
这样解释性语言每执行一次就要翻译一次,效率比较低。
解释是一句一句的翻译。
1 package Com.Table; 2 3 4 class Person { 5 public static void prt(String s) { 6 System.out.println(s); 7 } 8 9 Person() { 10 prt("父类·无参数构造方法: "+"A Person."); 11 }//构造方法(1) 12 13 Person(String name) { 14 prt("父类·含一个参数的构造方法: "+"A person‘s name is " + name); 15 }//构造方法(2) 16 } 17 18 public class TwentyOneTable extends Person { 19 TwentyOneTable() { 20 super(); // 调用父类构造方法(1) 21 prt("子类·调用父类”无参数构造方法“: "+"A chinese coder."); 22 } 23 24 TwentyOneTable(String name) { 25 super(name);// 调用父类具有相同形参的构造方法(2) 26 prt("子类·调用父类”含一个参数的构造方法“: "+"his name is " + name); 27 } 28 29 TwentyOneTable(String name, int age) { 30 this(name);// 调用具有相同形参的构造方法(3) 31 prt("子类:调用子类具有相同形参的构造方法:his age is " + age); 32 } 33 34 public static void main(String[] args) { 35 TwentyOneTable tw = new TwentyOneTable(); 36 tw = new TwentyOneTable("borter"); 37 System.out.println(tw); 38 tw = new TwentyOneTable("borter", 18); 39 System.out.println(tw); 40 } 41 }
以上是关于asp.net是一次编译多次执行,请详细解释,我理解不动的主要内容,如果未能解决你的问题,请参考以下文章