对比分析Java与其它高级语言的编译和运行过程,说明Java具有平台独立性的原因?

如题所述

因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。

而C/C++不可以跨平台的原因就是编译后的代码在特定的硬件上可以直接执行,换个硬件平台这些代码就不能被执行了。不过正是因为可以直接执行,所以C/C++程序的执行效率要比Java程序高
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-27
建议你看一下这个,这是我转载别人的,很详细:
http://hi.baidu.com/zhangxlong/blog/item/6c3791fbd85028849e5146b8.html
看过后,你就会明白为什么,java具有平台性了,Java是先编译成字节码(class),然后在运行时JVM(Java虚拟机)把字节码加载进内存并根据不同的系统平台把字节码解释成电脑能识别的机器码。本回答被提问者采纳