LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: yuzheng

java的速度比c++慢多少?

[复制链接]
发表于 2009-9-25 01:03:33 | 显示全部楼层
好贴啊 不错啊 谢谢楼主分享 拉 (*^__^*) 嘻嘻……                         
   
     
      
   
   
  
     
      
------------------------------------------------------------
新亭脑佳佳官方网站,堕泪波动挺官方网站
回复 支持 反对

使用道具 举报

发表于 2010-2-20 21:33:16 | 显示全部楼层
GLib库的数组越界,同样会报错。

例如,10个元素的数组arr,当指针p指向第11个元素(arr的第10号元素)时,系统会报错。
int* p;
GArray* arr;
arr = g_array_sized_new(FALSE, FALSE, sizeof(int), 10);
p = &g_array_index(arr, 10);                    // 系统报错,内存越界。
回复 支持 反对

使用道具 举报

发表于 2010-2-20 21:34:37 | 显示全部楼层

c语言的GLib库,在数组越界时,同样会报错。

大家选择c/c++来做程序,可能更多的原因,是习惯的原因。
回复 支持 反对

使用道具 举报

发表于 2010-2-20 23:55:19 | 显示全部楼层
java在处理调用的时候,效率与c++/c差远了

如果你在一个方法里面写再复杂的算法,跟c++也差不到哪去

但是如果涉及到一些频繁的方法调用的比如回溯等算法,你统计一下时间

就算是快速排序,你用c++写和用java来写比较一下

前提是,c++程序不要写成java那样,多用指针来做事

还有一个就是不用指针的话,很多东西要换思路
回复 支持 反对

使用道具 举报

发表于 2010-2-27 08:42:30 | 显示全部楼层
Java就两个缺点:启动速度慢(JIT需要一定时间),内存占用大(虚拟机),其他基本就没有了。

要说执行速度,从最底层看,Java和C++是一样的,因为有了JIT,执行的同样是编译好的机器码;稍微往上点就不太一样了:一来编译器优化不一样,更重要的是很多算法的实现良莠不齐,比如Array(C++ STL中叫做Vector),Map等等,我实际测试过,有的快有的慢,C++中更复杂,VC7之后带的STL明显比GCC(MinGW)的快得多。

最后从实际使用来看,C++其实处于十分尴尬的地位,我以前非常喜欢C++,现在转向了Java,因为开发企业级软件,你用C++简直就是自寻烦恼,而底层用C++有时候也是自寻烦恼(比如很多嵌入式系统对C++支持是很不完整的),C更加通用,再加上一个简单的Lua脚本,C实现机制,Lua实现策略,很方便!
回复 支持 反对

使用道具 举报

发表于 2010-8-19 16:20:43 | 显示全部楼层
PS15L:别提.Net了,跟Java一样。

不信:在Mono for Linux下用echo 'class A{static void Main(){}}' > A.cs && mcs A.cs
编译的A.exe可以直接在.Net Framework中使用。

其实Java是很好地!我平时都用Java,真要写设备文件时才用C。
回复 支持 反对

使用道具 举报

发表于 2011-4-14 19:13:39 | 显示全部楼层
做过ACM/ICPC的都知道C++比Java快多少,如果只是用C++将Java程序重写一遍当然不会有太多起色,而是要按C++的方式。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表