一、JVM:JVM有自己完善的硬件架构,如处理器、堆栈(Stack)、寄存器等,还具有相应的指令系统(字节码就是一种指令格式)。JVM屏蔽了与具体操作系统平台相关的信息,使得J**ava程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM是Java平台无关的基础。JVM负责运行字节码:JVM把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。JVM解释执行字节码文件就是**JVM操作Java解释器进行解释执行字节码文件的过程。
【字节码->机器码】
二、Java编译器:将Java**源文件(.java文件)编译成字节码文件(.class文件**,是特殊的二进制文件,二进制字节码文件),这种字节码就是JVM的“机器语言”。javac.exe可以简单看成是Java编译器。 javac file.java
三、Java解释器:是JVM的一部分。Java解释器用来解释执行Java编译器编译后的程序。java.exe可以简单看成是Java解释器。
java file
四、JDK:是Java的开发工具,它不仅提供了Java程序运行所需的JRE,还提供了一系列的编译,运行等工具,如javac,java,javaw等。
五、JRE:只是Java程序的运行环境,它最核心的内容就是JVM(Java虚拟机)及核心类库
参考博客:http://blog.csdn.net/qq_33642117/article/details/52143824