学了这么久JAVA,你能准确说出JDK,JRE,JVM之间的区别吗?

1、JDK,JRE,JVM是什么?

JDK:JAVA开发工具包(Java Development Kit),是整个JAVA开发的核心,包含了JAVA运行环境和类库等。

JRE:JAVA运行环境(Java Runtime Environment),可以使计算机运行JAVA程序,包括了JVM。

JVM:JAVA虚拟机(Java Virtual Machine),可以理解成JAVA程序与计算机之间的一个桥梁,相当于解释器。JAVA虚拟机也是JAVA程序能实现跨平台的基础。

2、JDK,JRE,JVM之间有什么区别? 

 

                                学了这么久JAVA,你能准确说出JDK,JRE,JVM之间的区别吗?

JDK、JRE和JVM之间的关系可以从上图看出,它们之间是存在包含关系。

一般来说,JDK是提供给开发者,而用户只需JRE即可。

拿window系统的JDK来举例,可以看到JDK文件夹中包含了一个JRE文件夹。

学了这么久JAVA,你能准确说出JDK,JRE,JVM之间的区别吗?

下面来简单说下JDK中几个比较重要的文件夹。

  • bin:主要有JAVA程序编译器,如javac.exe
  • jre:JAVA运行环境
  • lib:JAVA类库

和JDK类似,JRE中也存在bin,lib目录,不同是他们功能并不相同,JRE功能就显得比较单薄了,只能运行编译好的JAVA程序。 

学了这么久JAVA,你能准确说出JDK,JRE,JVM之间的区别吗?

3、JAVA程序的执行过程

               学了这么久JAVA,你能准确说出JDK,JRE,JVM之间的区别吗?

还是以上面的window平台为例,一个JAVA程序想运行在window平台,首先得通过javac.exe把xxx.java编译成可供jvm解析的二进制xxx.class文件。最后再经由java.exe解析xxx.class并执行该程序。由上图可知,JVM是JAVA实现跨平台的重点。所谓的跨平台,其实是跨操作系统,常见的操作系统有Window,Linux和Mac。


JAVA虚拟机也是JAVA学习的一个重点,接下来有时间的话,再来记录下虚拟机相关知识吧。