Java的平台独立性

来源:互联网 发布:mac chill 试色 编辑:程序博客网 时间:2024/05/21 01:53

平台独立性是指可以在一个平台上编写和编译程序,而在其他平台上运行。

保证Java具有平台独立性的机制为“中间码(字节码)”和“Java虚拟机(Java Virtual Machine,JVM)”。Java程序编译后不是生成能在硬件平台上可执行的代码,而是生成了一个“中间码”。不同的硬件平台上会安装有不同的JVM,由JVM来负责把“中间码”翻译成硬件平台能执行的代码。由此可以看出JVM不具有平台独立性,而是与硬件平台相关的。

解释执行过程分为三步进行:代码的装入、代码的校验和代码的执行。装入代码的工作由“类装载器”完成。被装入的代码由字节码校验器进行检查。

Java字节码的执行也分为两种方式:即时编译方式和解释执行方式。

即时编译方式指的是解释器先将字节码编译成机器码,然后再执行该机器码。

解释执行方式指的是解释器通过每次解释并执行一小段代码来完成Java字节码程序的所有操作。

通常采用的是解释执行方式。

而在C/C++语言中,编译后的代码只能在特定的硬件上执行,换个硬件平台这些代码就无法执行,需要重新编译,从而导致了C/C++没有跨平台的特性。但C/C++有更高的执行效率。

0 0