1.一次编译两次运行:(1)把源代码编译为Microsoft中间语言IL(2)CLR把IL编译为平台专用的代码。
2.JIT编译器并不是把整个应用程序一次编译完(这样会有很长的启动时间),而是只编译它调用的那部分代码。代码编译过一次后,得到的内部可执行代码就存储起来,直到退出该应用程序为止,这样在下次运行这部分代码时,就不需要重新编译。
3.托管代码(managed code):在CLR的控制下运行的代码。
4.托管代码的优点:1.平台无关性2.提高性能(IL总是即时编译的而java字节码是解释性的,Java的一个缺点:在运行应用程序时,把Java字节代码转换为内部可执行代码的过程会导致性能的损失。JIT编译器并不是把整个应用程序一次编译完[这样会有很长的启动时间],而是只编译它调用的那部分代码,代码编译过一次后,得到的内部可执行代码就存储起来,直到退出该应用程序为止,这样在下次运行这部分代码时,就不需要重新编译了.Microsoft认为这个过程要比一开始就编译整个应用程序代码的效率高得多,应用任何应用程序的大部分代码实际上并不是在每次运行过程中都执行,使用JIT编译器,从来都不会编译这种代码.)3.语言的互操作性。