既然JAVA这么底层,为什么还需要C和C++语言?

2024-11-25 02:24:14
推荐回答(5个)
回答1:

不依赖操作系统的程序才是最上层的程序,cpu的汇编码还有芯片要求那,你能说他过时??没这个一切都没了,能跨平台是因为他站的太高,抬个腿就过去了,单你却忽视了在他下面的程序是什么开发的,你只知道有虚拟机就能用java ,虚拟机下面还用东西,不是直接占到硬件上的。。。所谓的不依赖操作系统是只是代码不依赖,因为他们的编译代码是中间代码,并非机器码,在运行时才编译成机器码。。。。。
不是所有程序都需要跨平台,比如你玩个魔兽争霸你还要支持手游吗,用java 通常是由跨平台需要,如果没有这个需要,那就会有其他方面考虑,其他方面的优势java未必有,很多软件开发都有需要大量第三方组件,如果java缺乏这些东西,或者效果不好,自然不会用。。。。还有即使一些低端CPU系统非常简单,就不可能去支持虚拟机,甚至连系统都没有,这些程序谁开发。。。微软公司对windows进行优化难道要靠java吗???
编程出发点不同罢了, java不可能取代c和c++ ,就像裁缝不能取代厨子一样。。。。。
还有c++,c只是一种语法,不支持跨平台是因为编的是机器码,如果你做个编译器能把他编译成java的中间码,为什么不能跨平台。。。

回答2:

你问这种问题,你是傻屌么?你不会去了解一下java的底层原理?不知道java底层都是由jni调用c或c++实现的?跨平台只是java提供了不同虚拟机去调用了底层操作系统api了而已,懂?

回答3:

因为jvm本身是依赖于平台的,所以java不存在跨平台性。

回答4:

首先Java是一种高级语言,然后 .java文件编译后为 .class 文件这一步的确不直接依赖操作系统(毕竟JVM需要运行在OS上),上面这一步只是将代码编译为字节码。之后JVM将字节码翻译为OS可以识别的机器码。

回答5:

看你一直重复着 一次编写,到处运行, 但是 C/C++不行, 我竟然觉得有点好笑, 不过我不想跟你争论 你开心就好。