jdk、jre、jvm三者有什么关系?
JDK
☁️ JDK:Java开发工具包;
☁️ JDK中包含了以下内容:
⚡️ Java虚拟机:用于运行Java程序;
⚡️ 核心类库:核心类库中是已经编写好的Java代码,可以直接调用;如我们定义一个 String 对象,就需要用到核心类库中的代码;
⚡️ 开发工具:如 javac、java、jdb、jhat 等;
☁️ 我们知道,Java是 “ 一次编译,到处运行 ” 的,那么当我们适用JDK编写好代码,并且生成可执行的class文件后,是不是将可执行文件直接发送到用于执行class文件的电脑就可以了,当然不是,因为用于运行 class 文件的电脑也需要装有JDK才行;
☁️ 但是,JDK是 Java 开发工具包,如果我们不需要开发,只需要运行,那么JDK中的很多功能我们是不是用不到呢?这个时候,我们可以去除掉开发所需要用到的工具,只保留运行所需要的工具;
☁️ 我们需要保留的,也就是JVM、核心类库、开发工具中的部分工具,这三部分就组成了JRE;
JRE
☁️ JRE:Java运行环境;
☁️ JRE包含以下内容
⚡️ JVM
⚡️ 核心类库
⚡️ 运行工具
☁️ 所以JDK、JVM、JRE三者的关系是: