1、Java语言跨平台原理
Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。
如下图所示:
注意:JVM(Java Virtual Machine,Java虚拟机)是实现Java跨平台的核心,但JVM本身并不是跨平台的,不同的平台需要安装不同的JVM。
2、JVM,JRE,JDK的区别
JVM(Java Virtual Machine):Java虚拟机,提供执行class字节码文件的能力。
JRE(Java Runtime Environment):Java运行环境,包含JVM和Java的核心类库(Java API)。
JDK(Java Development Kit):Java开发工具,包含了Java的运行环境(JRE)和开发工具(包含了编译Java源文件的编译器Javac,还有调试和分析的工具)。包含了编译Java源文件的编译器Javac,还有调试和分析的工具。
如下图所示: