总所周知,Java具有跨平台的特性,可以”一次编译,到处运行“。
那么,跨平台是如何实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称JVM)。
JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种.class文件。称为字节码文件。Java虚拟机就是负责
将字节码文件翻译成特地平台下的机器码然后运行。也就是说,只要在不同的平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java
程序。
而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVN这一“中间层”,就能在不同平台上运行,真正的实现了“一次编译,导出运
行”的目的。
JVM是一个“桥梁”,是一个“中间件”,是实现跨平台的关键,Java代码首先被编译成字节码文件,再由JVM将字节码文件翻译成机器语言,从而达到
运行Java程序的目的。
注意:编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。不同平台下编译生成的字节码
是一样的,但是由JVM翻译成的机器码却不一样
所以,运行Java程序必须有JVM的支持,因为便宜的结果不是机器码,必须经过JVM的再次翻译才能执行。