【对线面试官】Java虚拟机基础 - 图1

    【对线面试官】Java虚拟机基础 - 图2

    【对线面试官】Java虚拟机基础 - 图3

    【对线面试官】Java虚拟机基础 - 图4

    【对线面试官】Java虚拟机基础 - 图5

    【对线面试官】Java虚拟机基础 - 图6

    【对线面试官】Java虚拟机基础 - 图7

    【对线面试官】Java虚拟机基础 - 图8

    【对线面试官】Java虚拟机基础 - 图9

    【对线面试官】Java虚拟机基础 - 图10

    【对线面试官】Java虚拟机基础 - 图11

    【对线面试官】Java虚拟机基础 - 图12

    【对线面试官】Java虚拟机基础 - 图13

    总结下今天的内容,并画了个图(三连三连!三连可以加快更新速度!):

    • Java跨平台因为有JVM屏蔽了底层操作系统
    • Java源码到执行的过程,从JVM的角度看可以总结为四个步骤:编译->加载->解释->执行

      • 「编译」经过 语法分析、语义分析、注解处理 最后才生成会class文件
      • 「加载」又可以细分步骤为:装载->连接->初始化。装载则把class文件装载至JVM,连接则校验class信息、分配内存空间及赋默认值,初始化则为变量赋值为正确的初始值。连接里又可以细化为:验证、准备、解析
      • 「解释」则是把字节码转换成操作系统可识别的执行指令,在JVM中会有字节码解释器和即时编译器。在解释时会对代码进行分析,查看是否为「热点代码」,如果为「热点代码」则触发JIT编译,下次执行时就无需重复进行解释,提高解释速度
      • 「执行」调用系统的硬件执行最终的程序指令

    【对线面试官】Java虚拟机基础 - 图14

    《对线面试官》系列目前已经连载26篇啦!有深度风趣的系列!