0、JDK、JRE、JVM区别与联系

1.基本概念

JVM : 全称 Java Virtual Machine,即java虚拟机,是一个用于执行字节码的”虚拟计算机”。由于不同的操作系统有不同的虚拟机,Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。实现了“一次编译,随处运行”。 这也是Java虚拟机实现跨平台的核心机制。

å¾ç8.png

JRE:全称Java Runtime Environment,即java运行环境。包含了Java虚拟机、库函数、运行Java应用程序所必须的文件。 注意:只有JVM并不能执行.class文件,JVM执行.class还需要JRE下的lib类库的支持(jre里有运行.class的java.exe)。同时可以发现,在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为JRE。

JDK:全称Java Development Kit,即java开发工具包。包含JRE,Java基础的类库以及一大堆java工具(编译器javac和调试器等)。

JDK目录下面主要包含四个主要的文件夹(bin、include、lib、 jre)、一个src类库源码压缩包、和其他几个声明文件。其中四个文件夹作用(注意这里bin和lib和JRE里的是不同的):

  • bin:最主要的是编译器(javac.exe) 
  • include:java和JVM交互用的头文件 
  • lib:类库 
  • jre:java运行环境

2.区别与联系

区别:

JDK有javac.exe用来将java文件编译成class文件,是开发者所需要的而用户不需要。

JRE有java.exe用来运行.class文件,是程序的运行环境。

JVM解析JRE中运行的字节码文件,映射到CPU指令集或OS的系统调用。

总结:

1.如果只是要运行Java程序,只需要JRE就可以。JRE通常非常小,其中包含了JVM。

2.如果要开发Java程序,就需要安装JDK。

联系:

å¾ç7.png

总结:

JVM:将字节码文件转成具体系统平台的机器指令。 
JRE:JVM+Java语言的核心类库。 
JDK:JRE+Java的开发工具。 

猜你喜欢

转载自blog.csdn.net/weixin_39722922/article/details/84103104