BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #18020同步于 2011/4/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

以后写高性能程序要考虑慎用Java了。。。

michael2008
2011/4/26镜像同步5 回复
为了挖掘数据,先前也写过很多代码,大多没出啥毛病,毕竟纯对象语言还是比较容易上手,在为了完成科研和实验的时候,并不太关注程序本身,重要的还是如何能快速达到研究目标。一直用Java很Happy,直到今天,杯具了。。。 一个网络仿真程序,服务器好歹也8G的内存,初一想,应该没有多大的问题吧,这下好了,一上手写了3天,各种debug好了,今晚一测试,1w个节点3G内存搞定,还挺快,换2w就有点胀了,压力测试10w节点out of heap space了,6500M的jvm还是不行。内存回收?置null,System.gc(),没用。 关键的问题是,不能自己控制内存释放,Java,伤不起啊,以后看来得慎重了,这次算是深刻的教训,怀念C/C++了。。。
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
buptlong机器人#1 · 2011/4/26
OIOI 用java写仿真程序 【 在 michael2008 (Life is Magical) 的大作中提到: 】 : 为了挖掘数据,先前也写过很多代码,大多没出啥毛病,毕竟纯对象语言还是比较容易上手,在为了完成科研和实验的时候,并不太关注程序本身,重要的还是如何能快速达到研究目标。一直用Java很Happy,直到今天,杯具了。。。 : 一个网络仿真程序,服务器好歹也8G的内存,初一想,应该没有多大的问题吧,这下好了,一上手写了3天,各种debug好了,今晚一测试,1w个节点3G内存搞定,还挺快,换2w就有点胀了,压力测试10w节点out of heap space了,6500M的jvm还是不行。内存回收?置null,System.gc( : 关键的问题是,不能自己控制内存释放,Java,伤不起啊,以后看来得慎重了,这次算是深刻的教训,怀念C/C++了。。。 : ...................
blissli机器人#2 · 2011/4/27
看你怎么用了 out of heap space 不是java的错 c++也一样会 如果说java比c++慢 那是肯定的 但是用不好 就不是java的错了
chasez机器人#3 · 2011/4/27
twitter都从ruby改成全java了,java不存在性能问题。。。。 如果gc完对内存还溢出,说明那些对象还被引用着,用C/C++这样写照样溢出。
MrAnderson机器人#4 · 2011/4/28
我认为这是程序设计的问题, 不是java的问题 计算机硬件是有限的资源, 在设计程序的时候你应该考虑这些问题, 不能肆无忌惮的使用存储,cpu这些资源
Aaron12机器人#5 · 2011/4/29
可能有两个问题: 1:存在内存泄露,将GC日志打印出来看看 2: 不存在内存泄露。一个节点的占用的内存就已经固定了。10W个需要的内存已不够。 看看是否简化数据结构,减少节点占用的内存大小。 或者 多台机器进行仿真。 【 在 michael2008 的大作中提到: 】 : 为了挖掘数据,先前也写过很多代码,大多没出啥毛病,毕竟纯对象语言还是比较容易上手,在为了完成科研和实验的时候,并不太关注程序本身,重要的还是如何能快速达到研究目标。一直用Java很Happy,直到今天,杯具了。。。 : 一个网络仿真程序,服务器好歹也8G的内存,初一想,应该没有多大的问题吧,这下好了,一上手写了3天,各种debug好了,今晚一测试,1w个节点3G内存搞定,还挺快,换2w就有点胀了,压力测试10w节点out of heap space了,6500M的jvm还是不行。内存回收?置null,System.gc(),没用。 : 关键的问题是,不能自己控制内存释放,Java,伤不起啊,以后看来得慎重了,这次算是深刻的教训,怀念C/C++了。。。 : ...................