注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 游侠PC游戏综合讨论区 为何java语言执行效率比c++慢20倍还有人用呢? ...
楼主: zhaotianyu
打印 上一主题 下一主题

[讨论] 为何java语言执行效率比c++慢20倍还有人用呢? [复制链接]

帖子
2170
精华
0
积分
1085
金钱
3921
荣誉
0
人气
3
评议
0
21#
发表于 2011-6-6 13:43:00 |只看该作者
c的执行效率最为接近汇编,为什么还用c++啊?
程序这东西,作为一项工程,首要考虑的开发效率及成本,成本包括制作成本和维护成本,最后才考虑性能。我们身在商品社会。
撕bra达人

使用道具 举报

帖子
16272
精华
0
积分
8184
金钱
4429
荣誉
1
人气
148
评议
0

22#
发表于 2011-6-6 13:43:15 |只看该作者
socket9999 发表于 2011-6-6 13:41
看你以后干啥了。不当码工的话,精通C++确实用处不大,有空不如研究点算法。

研究算法也是用C/C++更方便。

低级趣味无罪 胡说八道有理

使用道具 举报

帖子
5822
精华
0
积分
2913
金钱
7675
荣誉
0
人气
17
评议
0
23#
发表于 2011-6-6 13:43:44 |只看该作者
java虽然不是第一个面向对象的,但它是面向对象里最成熟的,之后出的很多语言也都借鉴它的长处,稳重,可靠,虽然有时候感觉有些笨拙,但代码越多这点越不明显

使用道具 举报

帖子
2872
精华
0
积分
1474
金钱
3802
荣誉
1
人气
9
评议
0
24#
发表于 2011-6-6 13:46:13 |只看该作者
china.gll2 发表于 2011-6-6 13:43
研究算法也是用C/C++更方便。

只研究算法的话,可以先不学模板、虚函数、拷贝构造、单件什么的


使用道具 举报

帖子
863
精华
0
积分
432
金钱
3283
荣誉
0
人气
0
评议
0
25#
发表于 2011-6-6 13:49:40 |只看该作者
java和C++应用场景不同

C一般用于开发实时性要求比较高的程序,比如桌面应用及3D游戏,换做JAVA必定要悲剧

JAVA多用于企业级开发,多用于后台服务程序,接受客户端请求,经数据库操作后返回用户结果,比如网站后台,MIS系统等,这类系统的性能瓶颈往往是在数据库查询和网络传输上,而不在语言本身执行效率上
仁者无敌

使用道具 举报

帖子
2170
精华
0
积分
1085
金钱
3921
荣誉
0
人气
3
评议
0
26#
发表于 2011-6-6 13:51:05 |只看该作者
大家都喜欢讲些自己都一知半解的东西,而且还一本正经的样子
撕bra达人

使用道具 举报

帖子
1459
精华
0
积分
735
金钱
1251
荣誉
0
人气
0
评议
0
27#
发表于 2011-6-6 13:52:26 |只看该作者
汇编语言和机器语言是一一对应的  汇编就是助记符 不存在机器语言比汇编快的说法
c++,c语言最终都是编译成机器语言后执行
汇编比C++快?
C++的编译器在编译过程中会针对cpu的架构专门优化(比如减少指令流水线的断流)
如果你直接用汇编写 除非你是写编译器的高手 否则根本无法优化
汇编现在主要用于写一些底层软件 并不是因为它比c,c++快   
而是因为汇编可以直接操作硬件(寄存器,内存,端口)
JAVA速度比C++慢 是因为JAVA写好后不是编译成机器语言而是编译成一种由JAVA虚拟机解释执行的中间语言
JAVA速度慢 但是可以跨平台  因为java程序都是编译成中间语言  而不是针对某一种特定机器的机器语言

使用道具 举报

帖子
1459
精华
0
积分
735
金钱
1251
荣誉
0
人气
0
评议
0
28#
发表于 2011-6-6 13:58:01 |只看该作者
本帖最后由 501392 于 2011-6-6 13:58 编辑
hellbee 发表于 2011-6-6 13:43
java虽然不是第一个面向对象的,但它是面向对象里最成熟的,之后出的很多语言也都借鉴它的长处,稳重,可靠 ...

c++面向对象的功能比JAVA强得多吧   C++的多继承 > JAVA的接口
c++可以自己定义虚函数
java必须是虚函数
只是c++太灵活 难学易错而已

使用道具 举报

帖子
6879
精华
0
积分
3524
金钱
15615
荣誉
6
人气
244
评议
0
29#
发表于 2011-6-6 13:58:51 |只看该作者
回复 socket9999 的帖子

以前的工作辞掉了,现在正准备应聘到一家融资和资讯服务的单位,在筹备资料当中


在那里上班编程的确是可有可无的。但是毕竟编程是我的爱好了,还是会继续学下去的。

使用道具 举报

帖子
3400
精华
1
积分
2064
金钱
2912
荣誉
16
人气
39
评议
0

30#
发表于 2011-6-6 13:59:17 |只看该作者
java一点都不慢。某些领域绝对比c++快。

使用道具 举报

帖子
1459
精华
0
积分
735
金钱
1251
荣誉
0
人气
0
评议
0
31#
发表于 2011-6-6 13:59:51 |只看该作者
本帖最后由 501392 于 2011-6-6 14:00 编辑
sololie 发表于 2011-6-6 13:51
大家都喜欢讲些自己都一知半解的东西,而且还一本正经的样子

据我看游侠做程序员工作的还挺多的

使用道具 举报

姿姿驼~(@^_^@)~
游侠资深版主
『射击游戏区』
游侠攻略组【攻略】

版主勋章资深版主勋章白金会员勋章活跃勋章

帖子
13275
精华
4
积分
8229
金钱
7020
荣誉
70
人气
760
评议
0

32#
发表于 2011-6-6 14:02:02 |只看该作者
半吊子php路过,虽然以前学的java,补过全还给老师了

使用道具 举报

帖子
344
精华
0
积分
172
金钱
4274
荣誉
0
人气
1
评议
0
33#
发表于 2011-6-6 14:02:54 |只看该作者
单片机设计要用C语言,没听说过用JAVA,还有很多电子电路芯片设计要用机器语言

使用道具 举报

帖子
1459
精华
0
积分
735
金钱
1251
荣誉
0
人气
0
评议
0
34#
发表于 2011-6-6 14:04:28 |只看该作者
本帖最后由 501392 于 2011-6-6 14:08 编辑
XIBEIJIAN 发表于 2011-6-6 13:59
java一点都不慢。某些领域绝对比c++快。

java无论什么时候都比c++慢   java连内存都无法自己分配
java的虚拟机就是用c++写的    java写的程序最后还是由一个c++写的虚拟机来解释执行


使用道具 举报

帖子
16272
精华
0
积分
8184
金钱
4429
荣誉
1
人气
148
评议
0

35#
发表于 2011-6-6 14:05:02 |只看该作者
汇编可不是用不到的东西,恰恰相反、汇编连不编程的人都能用到。

比如用CE找内存基址做游戏修改器,不可避免的用到汇编、虽然不用写程序。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

低级趣味无罪 胡说八道有理

使用道具 举报

帖子
1432
精华
1
积分
916
金钱
2351
荣誉
0
人气
1
评议
0
36#
发表于 2011-6-6 14:07:27 |只看该作者
普通应用效率不需要多高的,又不是跑分软件,
人和电脑互动时cpu99.9%的时间都在空转。。。要那高运行效率搞毛,
缩短开发周期,提高移植性带来的收益就大得多
要你是老板你选择用什么开发?够用就好

使用道具 举报

帖子
6879
精华
0
积分
3524
金钱
15615
荣誉
6
人气
244
评议
0
37#
发表于 2011-6-6 14:12:10 |只看该作者
做技术的大都迷信技术,认为自己本事很大。

但是实际情况就如同前几位网友所说,我们这个社会是个商品社会,任何单位销售、运营部门是头把交椅,技术部门的地位其实很低。

使用道具 举报

圣魔王 撒旦

大头像勋章白金会员勋章活跃勋章人气勋章·初级

帖子
76647
精华
6
积分
41251
金钱
56083
荣誉
139
人气
3376
评议
11
38#
发表于 2011-6-6 14:13:15 |只看该作者
大家都喜欢讲些自己都一知半解的东西,而且还一本正经的样子

使用道具 举报

帖子
3400
精华
1
积分
2064
金钱
2912
荣誉
16
人气
39
评议
0

39#
发表于 2011-6-6 14:13:25 |只看该作者
回复 501392 的帖子

哭了,java无法分配内存。你当jvm是2么?jvm不止一种,jNode是纯java写的。

使用道具 举报

帖子
1459
精华
0
积分
735
金钱
1251
荣誉
0
人气
0
评议
0
40#
发表于 2011-6-6 14:20:38 |只看该作者
本帖最后由 501392 于 2011-6-6 14:22 编辑
XIBEIJIAN 发表于 2011-6-6 14:13
回复 501392 的帖子

哭了,java无法分配内存。你当jvm是2么?jvm不止一种,jNode是纯java写的。

jvm可以分配内存?jvm只能垃圾回收
java里面的对象全部分配在堆区
c++的对象可以分配到全局区,堆区,栈区
这才叫分配内存 行不?
java官方的JVM,IBM的JVM,Google的JVm全是用c++写的
还有人用java写了个操作系统  但是会有谁用?

使用道具 举报

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

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-10-31 05:56 , Processed in 0.351040 second(s), 10 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到