Java的跨平台原理如图所示:
由于操作系统(windows,linux)等支持指令集,不是完全一致的,就会让我们的程序在不同的操作系统中要执行不同的程序代码,java开发了适用于不同操作系统及位数的java虚拟机来屏蔽各系统之间的差异,提供统一的接口,对于我们Java开发者而言,你只需要在不同的系统上安装对应的不同的java虚拟机,这时你的java程序只需要遵循java规范就可以在所有的操作系统上运行Java程序了。
Java通过不同版本的虚拟机(JVM)来屏蔽不同系统间的差异,对我我们开发者而言只需要根据java接口开发即可。如果要部署到不同的系统,只需要安装对应版本的虚拟机即可