JAVA的平台无关性 —— Java虚拟机与字节码,虚拟机字节码
分享于 点击 9241 次 点评:96
JAVA的平台无关性 —— Java虚拟机与字节码,虚拟机字节码
java语言和其它语言相比,最大的优势就是它的平台无关性。这是因为Java可以在平台之上再提供一个Java运行环境,该Java运行环境由Java虚拟机、类库以及一些核心文件组成。Java虚拟机的核心是所谓的字节码指令,即可以被Java虚拟机直接识别、执行的一种由0,1组成的序列代码。字节码并不是机器指令,因为它不和特定平台相关,不能被任何平台直接识别、执行。Java针对不同平台提供Java虚拟机的字节码指令都是相同的,比如所有虚拟机都将11110000识别、执行为加法操作。和C/C++不同的就是,Java语言提供的编译器不针对特别的操作系统和CPU芯片进行编译,而是针对Java虚拟机把Java源程序编译成为字节码的“中间代码”。比如,Java源文件中的+被编译字节码指令11110000。字节码是可以被Java虚拟机识别、执行的代码。即Java虚拟机负责解释运行字节码,其运行原理是:Java虚拟机负责将字节码翻译成虚拟机所在平台的机器码,并让当前平台运行机器码。
相关文章
- 暂无相关文章
用户点评