一、JVM
JVM(JAVA Virtual Machine):一个虚拟的用于执行bytecode字节码的“虚拟计算机”。他定义了指令集,寄存器集,结构栈,内存区域,垃圾收集堆。
JVM是java实现跨平台的核心机制。如图所示:
二、JRE
JRE(JAVA Runtime Environment):包含了java虚拟机,库函数,运行java应用程序所必须的文件。
三、JDK
JDK(JAVA Development Kit):包含:JRE,以及增加了编译器和调试器等用于程序开发的文件。
三者的关系如下:
(1)如果只是运行java程序,只需要JRE就可以。JRE通常非常小,其中包含了JVM。
(2)如果要开发Java程序,则需要JDK