【精致Java教程】02:Java的跨平台原理

Java的一大特色就是“write once, run anywhere”即“一次编译,到处运行”。就是说你不用专门为每个平台写一份代码,你写的Java程序在任何平台都能跑起来。

它的实现原理是在系统层面上又增加了一层虚拟机(Java Virtual Machine,简称JVM),且为每个平台都定制了对应的虚拟机。然后Java程序是在虚拟机上跑的,因此平台无关。

Java的运行流程是:程序员写了源代码(Source Code,.java后缀,跨平台),然后经过编译器编译成字节码(Byte Code,.class后缀,二进制文件,跨平台),字节码是所有虚拟机都能理解的中间文件。然后交给虚拟机(不跨平台,每个平台都有对应的虚拟机)去运行。
所以对“write once, run anywhere”更准确的理解是,“一次编译,到处装虚拟机,所以到处运行”。

整个流程如下图所示。

注:因为我的文章的假想读者是纯新人,所以编译器和虚拟机这两部分我用黑色做背景代表神秘的黑科技,暂时不需要管这里面发生了什么。

阅读 1.9k

推荐阅读
许宏川的专栏
用户专栏

其疾如风,其徐如林,侵略如火,不动如山。

6 人关注
4 篇文章
专栏主页