JDK、JRE与JVM的关系

Java是一门编程语言,同时也是一个运行平台和开发平台。大家进入Java开发领域,一定会经常与JDK、JRE和JVM三个名词打交道。我们梳理一下这三个名词,对整个Java平台也会有更清晰的理解。

  • JDK : Java Development ToolKit
  • JRE:Java Runtime Environment
  • JVM:Java Virtual Machine

简单来说,这三者是逐层包含的关系。来看一个Java官方介绍Java的图:

Java-Concept-Diagram.png

从图中可以看到:

  • JDK在包含JRE之外,提供了开发Java应用的各种工具,比如编译器和调试器。

  • JRE包括JVM和JAVA核心类库和支持文件,是Java的运行平台,所有的Java程序都要在JRE下才能运行。

  • JVM是JRE的一部分,Java虚拟机的主要工作是将Java字节码(通过Java程序编译得到)映射到本地的 CPU 的指令集或 OS(操作系统) 的系统调用。JVM回根据不同的操作系统使用不同的JVM映射规则,从而使得Java平台与操作系统无关,实现了跨平台的特性性。

上面这张图包含了太多元素,我们用一张更加简化的图就能更清晰得看到三者之间的关系:

JDK-JRE-JVM.png

在实际开发过程中,我们首先编写Java代码,然后通过JDK中的编译程序(javac)将Java文件编译成Java字节码(.class文件),JRE加载和验证Java字节码,JVM解释字节码,映射到CPU指令集或OS的系统调用,完成最终的程序功能。

posted @ 2017-11-24 13:33  soyosuyang  阅读(219)  评论(0编辑  收藏  举报