Java跨平台原理
这里的平台指的是不同的操作系统,如:
- Windows
- Linux
- Mac
跨平台指的是Java程序可以在不同的操作系统上运行。
情景:中国人想要和法国人、德国人交流怎么办?
我想不难想到找个翻译就可以解决,把我们想要说的话传给不同的翻译,让翻译替我们传达信息!
那我们对比Java程序要想在不同的操作系统运行怎么办呢?同样我们也找个“翻译”就行了,只不过这个翻译在Java中叫做JVM(Java Virtual Machine:Java虚拟机),也就是说在不同的操作系统中我们提供不同的JVM就可以运行同一套源码
开发一个Java应用程序可分为三个步骤:编写源码、编译源码以及执行。
(I)编译阶段:
在任意平台编写java源代码(.java),然后将源代码编译为.class的字节码文件。此字节码文件是不全为二进制的文件。
(II)执行阶段:
任意一个平台的JVM都可以使用.class 文件。JVM中的类装载器可以找到.class文件并装载到JVM上进行解释执行(在这一步就是为什么Java被称为解释型语言的原因),不同的OS,有不同的JVM,这些不同的JVM将同一个.class文件解释成不同的全为二进制的机器代码实现与硬件的交互,使得在任意平台开发的源代码,都能在不同的平台实现相同的效果,从而实现跨平台!