JIT编译器

JIT编译器

动态编译器
JIT编译器,英文写作Just-In-TimeCompiler,中文意思是即时编译器。JIT编译器的工作是通过使用热代码段来提高性能,当编译器执行之前执行的代码时,它假定类型相同并且使用已生成的优化代码,但是如果类型不同,则JIT会执行去优化并正常地编译代码。[1]JIT编译器是“动态编译器”的一种,相对的“静态编译器”则是指的比如:C/C++的编译器。
  • 中文名:JIT编译器
  • 外文名:Just-In-Time Compiler
  • 用途:
  • 含义:即时编译器
  • 作用:使程序跨平台运行

简介

在Java编程语言和环境中,即时编译器(JITcompiler,just-in-timecompiler)是一个把Java的字节码(包括需要被解释的指令的程序)转换成可以直接发送给处理器的指令的程序。当写好一个Java程序后,源语言的语句将由Java编译器编译成字节码,而不是编译成与某个特定的处理器硬件平台对应的指令代码(比如,Intel的Pentium微处理器或IBM的System/390处理器)。字节码是可以发送给任何平台并且能在那个平台上运行的独立于平台的代码。

分类

事实上,JIT编译器分成两种:经济编译器和普通编译器。

经济JIT编译器

经济JIT编译器代表了运行一个NET应用程序所需要的最少功能,它直接用对等的本机代码取代每一条MSIL指令,不进行任何优化从而也带来更少的系统负载。这也意味着它主要应用在内存等资源比较紧张的平台上。

普通JIT编译器

普通JIT编译器则是缺省的运行时配置,会对其产生的代码进行即时优化。这样做无形中给予了。NET超出传统预编译语言的一个优点:预编译语言只能对其处理的代码将要运行于其上的平台做一番大致的事前估计。

JIT编译器可以经过准确调节达到当前运行时状态,结果可以完成一些预编译语言无法完成的工作:更高效地利用和分配CPU寄存器。在适当的情况下实施低级代码优化,比如常量重叠、拷贝复制、取消范围检查、取消常规副表达式以及方法内联等。

相关词条

相关搜索

其它词条