JVM如何实现跨平台呢
推荐
在线提问>>
JVM之所以可以实现跨平台,原理其实很简单!其实JVM本身并没有实现跨平台,也就是说不同的操作系统中,需要不同的JVM虚拟机,如下图所示:
所以,如果我们想在Windows系统下开发Java项目,就需要去Oracle官网下载安装一个Windows版的JVM;如果我们想在Linux系统下开发Java项目,就需要去Oracle官网下载安装一个Linux版的JVM;其他系统以此类推。也就是说,.java文件、.class文件,无论在哪个系统上都是一样的,但JVM是不一样的,基于此实现了跨平台!如下图所示:
从上图可知,Java源程序编译后生成的.class字节码,.class字节码文件运行在JVM虚拟机上,并不直接运行在具体的Windows系统上,而JVM虚拟机又分为Windows版、Linux版、Mac版。JVM充当了中间人的角色,把.class文件和操作系统分割并联系了起来,.class文件不和操作系统直接交互,而是由JVM和操作系统进行交互。
我们可以在Windows、Linux、Mac等任意系统中编写Java程序,并生成.class字节码文件,但要想实现跨平台,则需要安装Windows、Linux、或Mac等系统自己版本的JVM虚拟机。然后把字节码文件放到不同系统下的JVM虚拟机中运行,这样就实现了所谓的跨平台。这样我们程序员就只需要去编写和编译Java代码,至于跨平台的事情,是JVM要做的,我们不关心!
所以经常有人问:Java跨平台是在怎么实现的?其实就是通过JVM虚拟机来实现的!但你要知道,Java语言是跨平台的,JVM却不是跨平台的,不同的操作系统有不同版本的JVM!

