美文网首页
Java解释执行与编译执行

Java解释执行与编译执行

作者: 晚歌歌 | 来源:发表于2021-07-09 11:53 被阅读0次

问题

Java语言是解释执行还是编译执行

答案

Java是解释执行和编译执行共同存在的

过程

Java源代码文件首先由Javac编译为字节码,字节码由各操作系统对应的虚拟机解释或编译执行。
字节码:字节码是已经经过编译(.class文件),但与特定机器码无关,需要解释器转译后才能成为机器码的中间代码。
无论是采用解释器进行解释执行,还是采用即时编译器进行编译执行,最终字节码都需要被转换为对应平台的本地机器指令。

定义

解释执行:将编译好的字节码一行一行地翻译为机器码执行。
编译执行:以方法为单位,将字节码一次性翻译为机器码后执行。

特点

解释执行:将编译好的字节码一行一行地翻译为机器码执行,但不会进行编译

编译执行:即时编译存在的意义在于它是提高程序性能的重要手段之一。根据“二八定律”(即:百分之二十的代码占据百分之八十的系统资源),对于大部分不常用的代码,我们无需耗时间将之编译为机器码,而是采用解释执行的方式,用到就去逐条解释运行;对于一些仅占据小部分的热点代码(可认为是反复执行的重要代码),则可将之翻译为符合机器的机器码高效执行,JIT编译器可以针对那些频繁被调用的“热点代码”做出深度优化,提高程序的效率,此为运行时的即时编译。

image.png

相关文章

  • Java解释执行与编译执行

    问题 Java语言是解释执行还是编译执行 答案 Java是解释执行和编译执行共同存在的 过程 Java源代码文件首...

  • 20200629公司内部职级认定评审总结

    答案描述(没有回答好) Java解释执行执行的是.class文件,不是.java源码文件。 java解释执行比编译...

  • Java的运行原理

    java程序执行过程: .java→.class→机器码java编译器 (编译) → 虚拟机(解释执行) → 解...

  • 《深入理解Java虚拟机》学习笔记(六)(虚拟机字节码执行引擎)

    虚拟机字节码执行引擎 执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器...

  • 虚拟机运行时栈帧结构

    执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种...

  • 虚拟机字节码引擎

    代码编译的结果就是从本地机器码变为字节码 执行引擎在执行java代码可以解释执行(通过解释器执行)也可以编译执行(...

  • JVM(六):虚拟机字节码执行引擎

    在不同的虚拟机实现里面,执行引擎在执行Java代码的时候可能会有解释执行(通过解释器执行)和编译执行(通过即时编译...

  • 解释执行与编译执行

    编程语言分为低级语言和高级语言,机器语言、汇编语言是低级语言,C、C++、java、python等是高级语言。机器...

  • JVM专题

    1.JVM内存区域 1.1jvm的执行方式 解释执行与编译执行相结合解释执行就是边翻译为机器码边执行。即时编译(编...

  • 浅析 JIT 即时编译技术

    即时编译回顾 HotSpot 虚拟机执行 Java 程序时,先通过解释器对代码解释执行,发现某个方法或代码块执行比...

网友评论

      本文标题:Java解释执行与编译执行

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