Java程序的运行机制和JVM、JDK及JRE的关联

    和其他编译型以及解释性语言相比,Java语言比较特殊,它的编译过程比较特殊,并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(也就是*.class文件)。当然,这种字节码不是可执行性的,必须使用Java解释器来解释执行。

    因此可以认为:Java语言既是编译型语言,也是解释性语言。Java程序执行过程必须经过先编译,后解释的步骤。

Java程序的运行机制和JVM、JDK及JRE的关联_第1张图片

    Java语言里负责解释执行字节码文件的是Java虚拟机,即JVM(Java Virtual Machine)。所有平台上的JVM向编译器提供相同的编程接口,因此编译后的Java字节码就可以在该所有平台上运行,做到平台无关。

    与JVM经常混淆的两个概念是JDK和JRE:

        1>JDK(Java SE Development Kit)即java标准开发包,是提供给开发人员的一套应用程序开发包。

        2>JRE(Java Runtime Environment)java运行时环境,它是运行java程序的必须条件。

    JRE和JVM的关系:

    JRE包含了JVM。JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要其他的 类加载器、字节码校验器以及大量的基础库类。JRE除了包含JVM之外,还包含了运行Java程序的其他环境支持。

    一般而言,如果只是运行Java程序,只需要安装JRE,无需安装JDK。

你可能感兴趣的:(Java程序的运行机制和JVM、JDK及JRE的关联)