当前位置 博文首页 > A_art_xiang的博客:java代码编译之后是如何运行的?不知道这些

    A_art_xiang的博客:java代码编译之后是如何运行的?不知道这些

    作者:[db:作者] 时间:2021-07-13 21:45

    目录

    从机器语言->汇编语言->高级语言

    JVM的整体结构

    java代码执行流程

    java虚拟机种类(常用的就是HotSpot)


    从机器语言->汇编语言->高级语言

    计算机系统体系对我们来说越来越远,在不了解底层实现方式的前提下,通过高级语言很容易编写程序代码。但事实上计算机并不认识高级语言。

    java就属于高级语言。

    JVM的整体结构

    java代码执行流程

    java代码会进行两次编译,第一次生成class字节码文件,第二次使用JIT编译器将热点代码编译出来,进行缓存起来,增加程序性能。

    java虚拟机种类(常用的就是HotSpot)

    ? ? Classic VM、Exact VM、HotSpot VM、BEA公司(已经被oracle收购)的JRocket、IBM的J9、KVM和CDC/CLDC HotSpot(针对Java ME)、Azul VM、BEA Liquid VM、Zing VM、Apache Harmony、Microsoft VM、Taobao VM、Dalvik VM(执行dex文件,通过class转换来的)

    JRocket虚拟机应该是最快的,专注于服务器端应用,没有解释器。

    HotSpot VM、BEA公司(已经被oracle收购)的JRocket、IBM的J9是影响力最大的三个虚拟机。

    Azul VM、BEA Liquid VM与具体硬件平台绑定,软硬件配合的专有虚拟机。

    Graal VM(2018.4公布)如果有一天说有别的虚拟机替换HotSopt VM,那么Graal VM希望最大。

    cs