日期:2014-05-20  浏览次数:20791 次

java方法消耗内存统计
大家好,有个问题请教一下各位:

1、java代码,生成一百万条数据消耗100m内存,为什么生成数据结构是一样的50万条数据消耗的内存的65m,理论上不是应该减半吗,即消耗50m内存,不应该有这么大偏差吧;如果存在偏差,偏差在哪里?

2、对上述生成的一百万数据进行排序,排序消耗内存大概是4-5M,这个消耗是不是小了点?

3、有什么工具可以正确监控java方法执行时消耗多少内存?

大家踊跃讨论噢,谢了,各位。
------最佳解决方案--------------------
jvmstat或者jdk自带的jvisualvm、jconsole
------其他解决方案--------------------
占用内存不是只看生成的数据条数,还要看是什么数据,单条数据占用的内存数也不一定互相相等.
------其他解决方案--------------------
内存 和 数据库数据  没有直接关系吧
不连接数据库  没有数据,就创建 大对象  也能内存溢出的。