什么是JDK、JRE和JVM?还有各种开发工具用JRE运行这些字节码文件

什么是JDK、JRE和JVM?

想象一下,JDK就像是一套完整的工具箱,里面包含了我们写Java程序需要的所有工具和组件。它包括了JRE,这就像是工具箱中的运行环境,还有各种开发工具,比如编译器(javac)和打包工具(jar.exe)。JVM则是真正运行Java程序的那台虚拟机器。

JDK、JRE和JVM的关系

这三者之间的关系就像是一套嵌套的玩具。首先,JDK是最外层的,它包含了JRE和开发工具集。然后,JRE包含了JVM和Java SE标准类库。简单来说,JDK > JRE > JVM。

JDK、JRE、JVM的对比

项目 JDK JRE JVM
用途 开发环境 运行环境 平台软件
包含内容 开发工具、JRE、类库 JVM、类库 字节码执行引擎
是否必须 开发Java程序必须 运行Java程序必须 运行Java程序必须

运行Java程序的过程

  1. 用JDK中的javac编译器将.java文件编译成.class字节码文件。
  2. 用JRE运行这些字节码文件。
  3. JVM解析这些字节码,并将其转换为操作系统能理解的指令。

JDK和JRE的区别

JDK中有javac编译器,而JRE没有。JDK是用来开发的,所以它有开发工具;而JRE是用来运行的,所以它只提供了运行Java程序所需的环境。

JRE和JVM的区别

JVM本身不能直接运行.class文件,它需要JRE提供的类库(比如rt.jar)来支持。JVM是JRE的一部分,但不是全部。