JDK、JRE、JVM三者的区别

JDK(Java Development Kit):Java开发工具包
JRE(Java Runtime Environment):Java运行环境
JVM(Java Virtual Mechinal):Java虚拟机

JDK、JRE、JVM三者的区别_第1张图片
(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:

JDK、JRE、JVM三者的区别_第2张图片

(3)想要单纯的运行Java项目,安装JRE即可,当然前提是所有文件必须都是编译好的文件,如果开发的话,就需要安装JDK,因为我们编译代码都是通过JDK的bin目录下的javac.exe 进行编译的,在JRE当中并没有该程序,JRE当中只存在java.exe,也就是运行程序。

只有在JDK的bin目录下存在javac.exe

JDK、JRE、JVM三者的区别_第3张图片

JRE当中只存在java.exe

JDK、JRE、JVM三者的区别_第4张图片

以Hello.java为例

1.public class HelloJava {  
2.    // 这里是程序入口  
3.    public static void main(String[] args) {  
4.        // 输出字符串  
5.        System.out.println("你好 Java");  
6.    }  
7.}  

JDK、JRE、JVM三者的区别_第5张图片

(4)JVM(Java Virtual Mechinal) 称Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,也就是将字节码识别成当前操作系统可识别的命令。

什么是虚拟化?

虚拟化是一种资源管理技术, 是将计算机的各种物理资源, 如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破物理设备结构间的不可切割的障碍,使用户可以比原本的架构更好的方式来应用这些资源。这些资源的虚拟部分是不受现有资源的架构方式、地域或物理设备所限制。

VMware虚拟机应该都用过,通过虚拟机可以解析Linux操作系统,于是我们便可以在windows当中使用Linux操作系统了。而Java之所以可以跨平台(所谓跨平台就是操作系统)也完全是基于此概念,在不同的操作系统安装其对应的虚拟机就可以直接解析运行Java。

你可能感兴趣的:(#,Java基础,jvm,java,开发语言)