JDK(Java Development Kit):Java开发工具包
JRE(Java Runtime Environment):Java运行环境
JVM(Java Virtual Mechinal):Java虚拟机
(1)JDK和JRE 是有独立安装包的,而JVM没有独立的安装包。
关于这一点可以在官网下载JDK的时候可以看到,我们会发现可以只下载JRE:
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
(2)JDK当中包含了JRE,而JRE包含了JVM,这是三者的关系。安装好的JDK也可以发现在目录下存在JRE。如下便是JDK:
(3)想要单纯的运行Java项目,安装JRE即可,当然前提是所有文件必须都是编译好的文件,如果开发的话,就需要安装JDK,因为我们编译代码都是通过JDK的bin目录下的javac.exe 进行编译的,在JRE当中并没有该程序,JRE当中只存在java.exe,也就是运行程序。
只有在JDK的bin目录下存在javac.exe
JRE当中只存在java.exe
以Hello.java为例
1.public class HelloJava {
2. // 这里是程序入口
3. public static void main(String[] args) {
4. // 输出字符串
5. System.out.println("你好 Java");
6. }
7.}
(4)JVM(Java Virtual Mechinal) 称Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,也就是将字节码识别成当前操作系统可识别的命令。
什么是虚拟化?
虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源。这些资源的虚拟部分是不受现有资源的架构方式、地域或物理设备所限制。
VMware虚拟机应该都用过,通过虚拟机可以解析Linux操作系统,于是我们便可以在windows当中使用Linux操作系统了。而Java之所以可以跨平台(所谓跨平台就是操作系统)也完全是基于此概念,在不同的操作系统安装其对应的虚拟机就可以直接解析运行Java。