面试官:为什么Java代码可以实现一次编写、到处运行?**
参考答案:
JVM
(Java
虚拟机)是Java
跨平台的关键。
在程序运行前,Java
源代码(.java
)需要经过编译器编译成字节码(.class
)。在程序运行时,JVM
负责将字节码翻译成特定平台下的机器码并运行,也就是说,只要在不同的平台上安装对应的JVM
,就可以运行字节码文件。
同一份Java
源代码在不同的平台上运行,它不需要做任何的改变,并且只需要编译一次。而编译好的字节码,是通过JVM
这个中间的“桥梁”实现跨平台的,JVM
是与平台相关的软件,它能将统一的字节码翻译成该平台的机器码。
注意事项
1、编译的结果是生成字节码、不是机器码,字节码不能直接运行,必须通过
JVM
翻译成机器码才能运行;2、跨平台的是
Java
程序、而不是JVM
,JVM
是用C/C++
开发的软件,不同平台下需要安装不同版本的JVM
。