美文网首页Java虚拟机
【Java虚拟机】Java代码的运行

【Java虚拟机】Java代码的运行

作者: AC威威 | 来源:发表于2018-11-15 23:14 被阅读0次

    1. Java代码为何要在虚拟机中运行?

    Java作为一种高级语言,语法复杂,抽象度高,如果直接通过硬件来执行很不现实,所以就引入了Java虚拟机;

    2. 解释"一次编写,到处运行"

    一旦Java代码被编译成Java字节码,便可以在不同平台上的Java虚拟机实现上运行。

    3. 解释Java虚拟机是怎样运行Java字节码的?

    以标准JDK中的HotSpot虚拟机为例

    首先将class文件加载到虚拟机中(方法区)

    然后将Java字节码(class文件)翻译成机器码给底层硬件执行

    83407263.png

    4. 具体解释一下翻译成机器码给底层硬件执行的过程

    具体翻译过程有两种形式:

    • 解释执行,即逐条将字节码翻译成机器码并执行

    • 即时编译(Just-In-Time Compilation JIT),即一个方法中包含的所有字节码编译成机器码后再执行

    前者的优势在于无需等待编译,后者的优势在于实际运行速度更快。HotSpot默认采用混合模式,它会先解释执行字节码,然后将其中反复执行的热点代码,以方法为单位进行即时编译

    83355815.png

    5. 简述你对Java虚拟机作用的理解(任意两点即可)

    • Java虚拟机将运行时内存区域划分为5个部分

    • 虚拟机提供了一个代码托管的环境,并且帮助我们处理代码中冗长而且容易出错的事务,如自动内存管理与垃圾回收

    相关文章

      网友评论

        本文标题:【Java虚拟机】Java代码的运行

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