java是编译语言还是解释语言的理解

1.class不是机器语言,它是由jvm加载后解释的。
2.针对不同的平台,有不同的jvm。相当于是一个模拟器。在虚拟机中解释执行
3.C++编译为本地代码,由相关的操作系统执行,所以不能跨平台。


问:C语言经过编译后产生了机器代码,机器代码依赖特定型号的计算机,因为各种型号的计算机电路原理设计原理不一样,但是为什么我编译后的C程序可以在其他的不同型号的机器上运行?
那我的那个编译后的程序(机器代码)可以在其他的操作系统上运行吗?比如说DOS、Linux、Unix?这个程序还依赖一定的操作系统吗?


答:因为那是你运行程序的大部分机器都是基于Intel体系结构的。本身Intel系列的电脑都是向后兼容的,所以刚好程序可以在不同的机器上运行。

如果你换其他体系结构的机器,估计就不可以了
posted @ 2014-02-11 10:07  离子  阅读(194)  评论(0编辑  收藏  举报