jdk,jre和jvm三者的关系和区别

目录

一、三者的关系

二、JDK的概念

三、JRE的概念

四、JVM的概念

五、三者区别


一、三者的关系

jdk,jre和jvm三者的关系和区别_第1张图片

从图中可以清楚地看到,他们之间的关系是JDK包含JRE, JRE又包含JVM。

因此,JDK包含JRE和JVM。

  • JDK = JRE + Java 开发工具包 [Java,Javac,Javadoc,Javap等]
  • JRE = JVM + Java 的核心类库

二、JDK的概念

        什么是JDK,JDK是用于Java程序开发的最小环境,包含:Java程序设计语言,Java虚拟机(JVM),Java类库(API)。它能够创建和编译程序。

三、JRE的概念

        什么是JRE,JRE是Java程序运行的标准环境。包含:Java类库和Java虚拟机(JVM)。如果想运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK用于java程序的开发,JRE只能运行class而没有编译的功能。

四、JVM的概念

        什么是JVM——Java虚拟机,它是 Java 实现平台无关性的基石。
        Java 程序运行的时候,编译器将 Java 文件编译成平台无关的 Java 字节码文件(.class),接下来对应平台 JVM 对字节码文件进行解释,翻译成对应平台匹配的机器指令并运行。

jdk,jre和jvm三者的关系和区别_第2张图片

五、三者区别

  • JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。
  • JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
  • JVM(Java Virtual Machine)即Java虚拟机,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

总结:

开发的实际情况是:我们利用JDK(调用本地的API)开发属于自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解释这些字节码,映射到CPU指令集或OS的系统调用。

你可能感兴趣的:(java,jvm,开发语言)