Java跨平台的原理

使用Java语言编写应用程序最大的优势在于“一次编译,到处运行”,然而这并非说全部的Java程序都具备Java跨平台的特性,spa

事实上,至关一部分的Java程序是不能在别的操做系统上正确运行的。操作系统

Java字节码的两种执行方式:code

1.即时编译方式:解释器先将字节码编译成机器码,而后再执行该机器码。xml

2.解释执行方式:解释器经过解释一段执行一段的方式来完成Java字节码程序的所有操做。虚拟机

Java程序执行和C++程序执行的对比分析:编译

Java源代码就比如C++源代码软件

Java源代码编译后的字节码就比如C++源代码编译后的80x86机器码(二进制程序文件)硬件

JVM虚拟机比如80X86计算机系统二进制

Java解释器比如80X86的CPU程序

真正的80X86CPU上运行的是机器码

而在Java解释器上运行的是字节码

能够把Java解释器想象成运行了“Java字节码”的“CPU”,

但该“CPU”不是经过硬件实现的,而是用软件实现的。

Java解释器实际上就是特定的平台下的一个应用程序。

只要特定平台实现了Java解释器程序,Java字节码就能经过解释器程序在该平台下运行,这是Java跨平台的根本。

固然,并非在全部的平台下都有相应Java解释器程序,这也是Java并不能在全部的平台下都能运行的缘由,它只能在已经实现了Java解释器程序的平台下运行。

机器码machine code)是一种机器指令的集合,有时也被称为原生码Native Code),是计算机的CPU可直接解读的数据。

相关文章
相关标签/搜索