什么是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程序的过程
- 用JDK中的javac编译器将.java文件编译成.class字节码文件。
- 用JRE运行这些字节码文件。
- JVM解析这些字节码,并将其转换为操作系统能理解的指令。
JDK和JRE的区别
JDK中有javac编译器,而JRE没有。JDK是用来开发的,所以它有开发工具;而JRE是用来运行的,所以它只提供了运行Java程序所需的环境。
JRE和JVM的区别
JVM本身不能直接运行.class文件,它需要JRE提供的类库(比如rt.jar)来支持。JVM是JRE的一部分,但不是全部。