- 论坛徽章:
- 15
|
本帖最后由 yulihua49 于 2011-07-28 12:33 编辑
似乎Java的多吧,上次有一个网络公司的HR和我说C太笨了,说他们都用Java。
不过聊了一会儿,我感觉那大哥 ...
fender0107401 发表于 2011-07-27 21:43 ![]()
很普遍的观点,笃信这观点的,的确很悲剧。
没有一个强健、可靠、大并发的服务器可以是JAVA建造的,JAVA的先天弱点决定了。当强大的访问冲击到达时,JAVA的唯一表现就是崩溃。
用C可以实现,无论多大访问量,即使客户端已经连不上服务器了,服务器依然健壮,仍然在继续处理已连接的事务。风暴过后,我自岿然不动。
C不是太笨,而是巧妙到JAVA无法模仿的地步。但这个巧妙是在人--程序员巧妙的基础上。你有多巧妙,C就有多巧妙。
但再巧妙的人,面对笨拙的JAVA也无计可施,只好放弃某些东西,例如效率,可靠性什么的。
简单举个例子,一个字符串,首字符改大写。c很简单的,to_upper(*str),Java呢?一个String,先变成StringBuffer,按下标取
字符,修改后按下标放回去,再转成String。
中间经过数次的new,就是malloc,产生了大量垃圾,等着GC,开销是C的几十倍不止。结果那个String还不是原来的String,这在某些场合是不妥的。
可靠性也完蛋了,在大吞吐量下,一旦new失败,立即崩溃,连捕获异常都不可能。 |
|