Java跨平台的原理
总结:
- java的运行过程:
通过将java的源文件(.java)先编译成与平台无关的java字节码文件(.class),然后再通过不同的java虚拟机将二进制文件解释成机器语言进行执行. - java跨平台雨C语言的跨平台的区别?
① java:一次编译,到处运行
C语言:多次编译,多处运行
② 在互联网情况下,平台各异,java的跨平台更具有优势
java是否可以跨平台要看有没有提供相对应的JVM
③ C语言的运行速度要比java的运行快 - 字节码文件
字节码文件不需要面向任何具体平台,只需要面向虚拟机
字节码文件是编译的产物,解释的原料 - JVM
① JVM是Java Virtual Machine(Java虚拟机)的缩写
② JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
③ JVM就是一个虚拟的用于执行bytecodes字节码的计算机
④ Java虚拟机是Java最核心技术,也是跨平台的基础。
⑤ Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
⑥ Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因