大家好,今天小编关注到一个比较有意思的话题,就是关于java与C语言的难以对比的问题,于是小编就整理了1个相关介绍Java与C语言的难以对比的解答,让我们一起看看吧。
有人说c语言开发效率比JaVA低是哪些因素导致的?
因为标准的c语言没有提供针对操作系统的内容,如果要开发针对系统的应用程序就要使用系统提供的API,比如微软系统就是mfc,用起来很繁琐还不能跨平台,但是J***a是虚拟机运行,只要用虚拟机提供的类库完成应用程序就可以,不用再去研究系统API了,只要这个操作系统支持J***a虚拟机就行,可以很方便的跨平台,还有就是封装效率的问题,J***a提供的类库用起来比较简单方便这是相对c++的mfc来说,之外还有开发环境的方面,用VC6.0开发windows应用反正在C++环境下我觉得真还不是所见即所得,它那个组织结构你要深究起来还是挺费时间的,但是J***a那个环境简单的多,最后单从语言上来说c不支持面向对象J***a支持,但我觉得这不是重点,因为J***a你要是不用提供的类自己从头构建也不必c方便
由于JIT技术的进步,纯计算上J***a和C差距很小,但是J***a和C的代码不可能完全等效,因为两者内存管理的机制不同,C可以完全控制内存管理,而J***a主要靠JVM的GC功能,这导致J***a的运行效率比较稳定,而C的运行效率和代码质量密切相关。高质量的C会比高质量的J***a快,但低质量的C很可能回比低质量的J***a更慢。其实单纯比速度并不是特别公平,因为J***a天生有多(JIT和GC),而且内存使用量一般J***a明显要多。
从代码的执行速度上来来看,应该是C语言更胜一筹。
但是在实际开发中,有时候面对同一个问题,使用J***a开发的话会比使用C语言的效率高。
我们从概念上来看,C语言是一门面向过程的高级程序设计语言;J***a的话是一门面向过程的编程语言,其是由C语言衍生而来,不断吸收了C/C++的一些优点,抛弃了一些缺点。