目录
一、三者的关系
二、JDK的概念
三、JRE的概念
四、JVM的概念
五、三者区别
一、三者的关系
从图中可以清楚地看到,他们之间的关系是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(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的系统调用。