JVM(Java Virtual Machine),Java 虚拟机。(跨平台)
JRE(Java Runtime Environment),Java 运行环境。(运行)
JDK(Java Development Kit),Java 开发工具包。(开发)
三者嵌套关系 JDK>JRE>JVM
JVM跨平台性的实现:
Java运行:源码—javac编译器—>字节码文件—Java解释器—>机器码文件—>机器
利用JDK(调用JAVA API)开发JAVA程序,通过JDK编译程序(javac)将java文件编译成JAVA字节码(.class类文件),在JRE中运行JAVA字节码,JVM负责解析字节码,并映射到CPU指令集或OS的系统调用,JVM将字节码文件解释给本地操作系统执行,通过本地操作系统来控制硬件设备,最终目的是在硬件机器上运行JAVA程序
一份JAVA程序只编译成一份字节码,但是通过不同系统版本的JVM解析,可以在不同平台实现JAVA程序的运行.这就是我们所说的"一次编译,到处运行".从而实现JAVA语言的跨平台性.
JVM是JDK最底层直接接触操作系统的。
JVM是运行在操作系统之上的,每个操作系统的指令是不同的,而JDK是区分操作系统的,
只要你的本地系统装了JDK,这个JDK就是能够和当前系统兼容的。