JAVA内存溢出
搞C的人对内存溢出应该非常熟悉咯。搞java的似乎对这个问题不是很在乎,因为java提供了垃圾回收机制。只是这个垃圾回收机制实在是太垃圾了。 平时自己写写程序玩玩的时候不在乎内存消耗,可是真正做了产品了,需要长时间运行的时候就不得不在乎了。同事的一个模块不间断的接收消息入库,没几分钟就到了1G。我的稍微好点,用了5分钟把java虚拟机默认的64M撑爆了。 Netbeans的Prof
·
搞C的人对内存溢出应该非常熟悉咯。搞java的似乎对这个问题不是很在乎,因为java提供了垃圾回收机制。只是这个垃圾回收机制实在是太垃圾了。
平时自己写写程序玩玩的时候不在乎内存消耗,可是真正做了产品了,需要长时间运行的时候就不得不在乎了。同事的一个模块不间断的接收消息入库,没几分钟就到了1G。我的稍微好点,用了5分钟把java虚拟机默认的64M撑爆了。
Netbeans的Profiles功能真的很不错,线程,内存统统都可以查看得很详细。可惜JAVA的bug太多了,一会儿发现Timer有个bug,一会儿发现LinkBlockingQueue似乎有问题,俺就发现JDBC的PreparedStatement存在比较大的问题,我每个方法都有finally块执行ResultSet和PreparedStatement关闭,可惜跟踪下来的结果就是PreparedStatement在不停的增加内存消耗,不得以换了Statement,原来5分钟从30k变成3M的现在始终维持在70k以下。
不过始终还是有点什么在消耗内存,还需要继续寻找,对着一大串的图标,曲线,数据,有一种想砸电脑的冲动
更多推荐
已为社区贡献7条内容
所有评论(0)