c为什么比java快 c语言与java哪个执行速度快,为什么
很多朋友对于c为什么比java快和c语言与java哪个执行速度快,为什么不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
为什么感觉java比起C更难
的确,java的确感觉比c难,想要做一个好的c语言程序员,无非就是c语言,c语言从c99到现在一直没有变过。知识也就那么些。当然还一有些数据库,等知识。
要想做好一个java程序员可不那么容易,首先你要会java,就是sun公司提供的jdk,jre这些基本的概念和使用你得要会吧,这个还远不够,你还要会html,jsp,asp,php等编写页面,这些也不够,编写页面你还要会javascript脚本吧,估计很少公司直接用javascript吧,你至少还要会Extjs,jquery等其中的一种吧。
学了以上东西,要想开发软件还不够,你还要学数据库吧,sqlServer,mysql,oracle,db2,postgresql等,你也得至少会一个吧,
学了数据库还不够,你要了解或是会一点框架吧,struts,hibernate,spring目前主流的框架你也得会点吧,
会了框架你开发软件还不够,你还要会点tomcat,jboss,weblogic这样的服务器吧,项目才能部署起来,
会了上面的还不够啊,还得会点设计模式吧,不然写出的东西就是流水账吧。
会了上面的所有东西,还不够,公司一般将项目不会放到本地吧,至少也要放到linux服务器吧,你也得会点linux命令吧。
现在java知识更新这么快,html现在又出来个html5,css又更新到css3,struts也到了struts2,hibernate又发展到hibernate4,spring也到spring3了
项目中往往还用到flash吧,不会那么单调吧,flash,photoshop你也得知识点吧。
工作中不免会用到这样或是那样的流程图吧,uml,visio也得会,项目管理工具什么的cvs,svn你要知道吧。
等等。
做一个程序员真的很难。做一个好的程序员那就更难了。
要想做一个高级程序员更难,别人做不了的东西都到你这,慢慢折腾吧。
如果你有更好的机会,尽量不要做程序员。以上是个人见解。
c语言与java哪个执行速度快,为什么
C语言编写的程序快,接近底层的意思就是说,接近硬件,所有的可执行程序都得在硬件的基础上进行操作执行。C语言对硬件的操控仅次于汇编语言。Java属于比c高级的语言,高级的意思是好多对底层的操作都被封装了,也就是说好多细节问题我们看不见。就算不知道计算机是怎么回事的人,也有可能编程。--个人理解
Java为什么永远比C,C++慢
首先,java字节码的执行是通过jvm(java虚拟机)来执行的,而jvm基本上是用c语言实现的。这就相当于多了一个中间层,用c、c++编写的程序执行是(可执行文件--->机器),而用java编写的程序执行是(字节码--->jvm--->机器)。另外,jvm本身的一些机制如垃圾回收,类的查找与加载等也是有时间消耗。
不过任何事情都是有两面性,java可能比c、c++慢,但是这个平台为我们屏蔽了很多机器和操作系统的差异性,我们编写java代码基本不用太多考虑机器和操作系统本身的东西。并且有很好的可移植性。比如你在Windows下写的java代码,基本上只需要做很少的修改就可以在Linux下运行了。
最后说点题外话,那些说java可以比c、c++快的人应该都是java的死忠,我相信实现同样的功能有高手可以用java写的程序比很多人用c、c++写的程序要快,但是和同样水平的c、c++程序比,那么在程序性能上还是不会有优势的。而那些开口闭口就说java慢的像蜗牛的人估计也没有写过几行java代码,实现同样功能他用c、c++写的也未必有别人用java写的程序跑的快。
所以,没有太多的必要比较语言的快慢,重要的是语言他适合用来做什么,存在的既是合理的,一种语言既然存在那么必然有他适用的地方,不然你可能没有听说过这门语言。
为什么说Java比C / C++ 慢
1.C++是编译型语言,java是解释型语言,普遍来讲,编译型语言要比解释型语言速度快。
2.C++是在C语言的基础上增加了新的语法和面向对象的机制,更加接近C语言,也就意味着更加接近底层硬件,越接近于硬件,运行速度越快。
3.java是纯面向对象的语言,实现了大量类的封装,体系比较庞大,对于java程序员来说,底层硬件可以说是透明的,所以想要优化效率是不容易的。
4.java慢于C++的一个重要原因就是java是运行在java虚拟机上,虚拟机的也需要时间开销。
5.总的来说,C++的效率大概是java的3到4倍,但是现在CPU的速度已经很快了,这种几倍的效率问题CPU已经可以完全屏蔽了。
好了,关于c为什么比java快和c语言与java哪个执行速度快,为什么的问题到这里结束啦,希望可以解决您的问题哈!