Intermediate Language 及Just In Time

CLR 执行引擎。

Intermediate Language 及Just In Time 编译器

   

在了解 CLR 所扮演的角色后,我们要介绍 IL (Intermediate Language)以及JIT (Just In Time)
编译器。旧版的ASP 是以直译的方式一行一行的执行程序,所以如果网页程序太复杂或是浏览
人数变多,或是服务器负载变重,其执行的效率可想而知。ASP.NET 为了改善执行的效率,以
及让程序将来可跨平台执行,所以便设计了 IL 以及JIT 编译器。IL 这种架构非常接近机器码,
可以非常有效率的透过JIT 编译器转换为机器码;而透过JIT 编译器所编译出来的机器码还是被
CLR 所管理。IL 含有许多广泛的指令,不但包括对象的加载、排序、初始、以及方法呼叫的指
令(关于对象、方法等,第三章有详细的讨论),而且还有算数暨逻辑运算、流程控制、直接内
存存取,以及例外处理的指令。不过因为每个 CPU 的架构都不一样,所以IL 不能够直接执行;
必需透过JIT 编译器先转换成被CPU 所认识的指令后才可执行。只要有支持该种 CPU 架构的
JIT 编译器,就可以把 IL 编译成可以在该 CPU 架构上执行的机器码,这意味着 IL 透过各种JIT
编译器将可以跨平台。而 IL 这种格式又非常接近机器码,直接由这种格式透过JIT 编译器编译
成机器码的速度又非常的快,所以第一次执行aspx 网页时需要编译成IL 效率较差外,尔后只要
aspx 网页没有异动过,就只要从IL 透过JIT 编译器编译成机器码就可以执行,效率当然比以前
的ASP 网页以直译器来执行的效率提升许多。编译成IL 也有另外一个好处,那就是只要该种程
序语言可以被编译成 IL,就可以由JIT 编译器编译执行。所以不管该组件用VB、C#、Java 或
其它语言所写成的,都可以被结合在一起使用;这个结合组件的动作称为组装(Assembly )。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值