美文网首页Java学习笔记
JIT(Just-In-Time)编译器

JIT(Just-In-Time)编译器

作者: Viking_Den | 来源:发表于2016-09-25 21:49 被阅读83次
  • JIT编译器是JVM的核心。它对于程序性能的影响最大。
  • CPU只能执行汇编代码或者二进制代码,所有程序都需要被翻译成它们,然后才能被CPU执行。
  • C++以及Fortran这类编译型语言都会通过一个静态的编译器将程序编译成CPU相关的二进制代码。
  • PHP以及Perl这列语言则是解释型语言,只需要安装正确的解释器,它们就能运行在任何CPU之上。当程序被执行的时候,程序代码会被逐行解释并执行。
    ** 编译型语言的优缺点:**
  • 速度快:因为在编译的时候它们能够获取到更多的有关程序结构的信息,从而有机会对它们进行优化。
  • 适用性差:它们编译得到的二进制代码往往是CPU相关的,在需要适配多种CPU时,可能需要编译多次。
    ** 解释型语言的优缺点:**
  • 适应性强:只需要安装正确的解释器,程序在任何CPU上都能够被运行
  • 速度慢:因为程序需要被逐行翻译,导致速度变慢。同时因为缺乏编译这一过程,执行代码不能通过编译器进行优化。
    ** Java的做法是找到编译型语言和解释性语言的一个中间点:**
  • Java代码会被编译:被编译成Java字节码,而不是针对某种CPU的二进制代码。
  • Java代码会被解释:Java字节码需要被java程序解释执行,此时,Java字节码被翻译成CPU相关的二进制代码。
  • JIT编译器的作用:在程序运行期间,将Java字节码编译成平台相关的二进制代码。正因为此编译行为发生在程序运行期间,所以该编译器被称为Just-In-Time编译器。

相关文章

网友评论

    本文标题:JIT(Just-In-Time)编译器

    本文链接:https://www.haomeiwen.com/subject/dmwfyttx.html