JVM、JDK、JRE的区别
总结:JDK包含JRE,JRE包含JVM。JDK是Java开发工具,JRE是Java运行时环境,JVM是Java虚拟机。
解释一下JDK,解释一下JRE、解释一下JVM工作流。
JDK和JRE的区别:
- JDK是提供给开发者开发Java程序时的环境,JRE是提供Java程序运行时环境,JDK和JRE是包含与被包含关系。
- JDK相对于JRE有额外的功能,例如Java编译器
Javac
、调试器等其他功能;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xiFwSn0r-1680067701478)(https://picturebed-dxq.oss-cn-hangzhou.aliyuncs.com/images/%E6%95%B4%E4%BD%93%E6%B1%87%E6%80%BB%E5%9B%BE.drawio.png#pic_center)]
JVM(Java Virtual Machine,Java虚拟机)
Java虚拟机(JVM)是运行Java字节码文件(.class)的虚拟机。JVM的口号是“Write once, run anywhere”(WORA)一次编译,随处运行。
步骤:首先将程序员编写好的.java
文件经过javac编译成.class
字节码文件输入到JVM中,JVM针对不同操作系统都有一套字节码解释器,通过不同解释器就能完成WORA方式了。
JDK和JRE
先讲JRE(Java Runtime Environment,Java运行时环境),它是运行.class字节码程序所需的所有内容的合集,包括JVM(Java虚拟机)Java API库、Java命令和其他的一些基础构件。
JDK:Java Development Kit,Java开发工具,他是功能齐全的Java SDK(Java Software Development Kit,Java软件开发工具)。它包含与JRE,此外还有编译器(javac:作用是将.java
文件编译成JVM可识别的.class
字节码文件)和工具(例如javadoc和jdb)。它还能够创建和编译程序。
在没有安装JDK的情况下,可以通过JRE来运行已经编译好的Java程序,如果需要开发Java应用程序,那必须安装JDK。