我们在安装好JDK后就可以想象成我们已经买了一台安装好软件的新的电脑。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    JVM : Java Virtual Machine(Java 虚拟机 ) 。所谓“虚拟机”顾名思义就是模拟出来的东西。就像是我们在用电脑看电视,但是电脑里并没有像电视机里面一样的硬件支持,但是我们仍然可以从电脑里接受电视台的节目。那是因为我们编写了一个可以模拟电视机硬件工作的软件运行在电脑的平台上面的原因。同样JVM就是模拟了电脑的硬件,它同样有着像CPU一样可以执行代码的功能。它的实现具体有:指令集 寄存器组 类文件格式 栈 垃圾收集堆 内存区。可以把它理解成是专门用来执行Java程序的一台机器。也就是说JVM提供了Java执行的硬件平台。JVM上执行的代码都存放在 .CLASS 文件中。JVM只执行字节码文件。

 

    JRE : Java Runtime Environment(Java 运行环境 ) 。就是可以运行 Java 程序的地方。就像是我们要在电脑上运行一个视频软件的时候必须在 Windos 或者是 Linux 等操作系统上一样。那我们就可以把它看做是一个操作系统。也就是说 JRE 提供了 Java 执行的软件平台。在运行 Java 的过程中除了需要有 JVM 执行 Java 代码这个动作外,还需要 Java API(Application Programming Interface, 应用编程接口 ) 说简单的就是“类库”。 Java 程序在运行中没有这些 API 是不行的,所以 JRE 包含 JVM

 
JDK : Java Development ToolKit(Java 开发工具包 ) 。我们有了硬件和软件两个平台后就可以做我们自己想做的事情了。 JDK 就是我们用来做事情的工具,它包括 JRE 还有其他工具。我们所说版本的不同,也就是说它里面的工具有差异。就像是你不同的工具箱里放着不同的工具一样。举个例子:最常用的一个就是 javac, 它是把 .java 的文件翻译成 .class 文件的工具。然后让 JVM 来执行 .class 文件中的字节码。 ( 就像电脑的 CPU 只认识 0 1 的道理 )

如果一台计算机的需求只是运行Java程序,而不是去编写Java程序的时候,它只需要安装JRE就可以了。