C语言和JAVA语言的运行机制有何不同

C语言和JAVA语言的运行机制有何不同?哪位高人能回答一下啊?... C语言和JAVA语言的运行机制有何不同?哪位高人能回答一下啊? 展开
 我来答
Pike沐鑫
2010-10-21 · TA获得超过868个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:201万
展开全部
很简单,如果你有学习过编译原理就会明白的。
C和Java都是高级编程语言,计算机是不会明白的,而要让计算机明白,就得找个“翻译”。
而这个“翻译”有两类,第一个是“翻译程序”,第二个是“解释程序”。
“翻译程序”的工作就是一次过将高级编程语言编写的代码翻译成低级语言代码,让计算机执行翻译后的代码。
“解释程序”的工作就是读取一句高级编程语言写的指令就解释成低级语言编写的指令,而采取一边解释一边执行的方式。
C就是翻译之后,让计算机执行翻译得到的程序。
Java很特别,在翻译这一步上,它不是翻译成直接可以运行的程序,而是“字节码”。“字节码”由当前操作系统安装的Java虚拟机一边解释一边执行,注意,相同程序得到的“字节码”是一样的,但是在不同操作系统下的虚拟机则不同。这样,就可以“一次编写,处处运行”。但是,一边解释一边执行是效率很低的,所以Java又出了JIT技术,就是Just In Time Compiler及时编译器,在执行时对一些常用的类花费一定时间进行编译,但是编译后执行效率很高,而编译只需要很少的时间,相对于浪费运行的时候宝贵的相应时间来说是很值得的。
总之,C写的程序是编译后由系统直接运行,Java是编译成字节码再由JVM执行解释执行字节码来运行程序,前者执行效率高,后者相对低。
百度网友2b7192e7b5
推荐于2016-02-22 · TA获得超过1917个赞
知道小有建树答主
回答量:496
采纳率:0%
帮助的人:355万
展开全部
c语言是直接在电脑系统上可以运行的,而java运行,则需要在电脑上安装java运行虚拟机jvm即JRE才能运行,不然就缺少库类,jar不能被识别~

另外,在编译的时候,二者也是不同的。C++编译器将C++编译成C,然后C语言直接转换成机器指令运行。而java通过java编译器之后则变为Bytecode,然后变成机器指令被识别。
java爱好者很高兴为你解答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
予恋寻十1K
2010-10-20 · TA获得超过941个赞
知道小有建树答主
回答量:977
采纳率:50%
帮助的人:853万
展开全部
C是运行在操作系统上的。java是运行在java虚拟机上的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式