1.首先什么是跨平台性
就是相同的java文件可以在不同的操作系统的运行
2.先看一幅图
1.class文件的产生; java文件经过编译编程 class文件,
2. 运行在虚拟机上的文件; .class文件是可以运行在虚拟机上的文件(没有经过编译的java文件则不能运行)
3.JVM只是一个应用程序; JVM可以理解为与我们的QQ 等程序是一样的,就是操作系统的应用程序
4.三个不同的操作系统; 如图:有三个不同的操作系统,分别是windows系统 。linux 系统。unix系统
5.操作系统上不同的JVM; 每个操作系统中安装的JVM是不同的,就如我们的QQ安装在苹果的mac系统和windows系统上,也是有不同的版本号;
3. 总结:
我们的java文件是相同的,我们编译的.class文件也可以看做相同的,java的跨平台性(java可以运行在不同操作系统的特性)就是因为JVM的不同导致的,不同的JVM负责拿到相同的.class文件并且与各自的操作系统沟通,这就好像国家的外交人员,国家有一份相同的文件需要和英,法,日不同国家沟通,国家只要将文件下发到处在不同国家的外交人员手中,那么处于不同国家的外交人员负责与不同的国家沟通。就达到沟通的目的了