好像占的内存并不是很多。不过这个int[]占的蛮高的
求解释一下这个什么意思

解决方案 »

  1.   

    从这个图看,应该没什么问题,实际还存活的对象只占了26M
    你看到的内存只是增大的java占用内存而已,很多都没用到
    可以用-Xmx限制它的最大值不过有个前提是,你这个图是运行了很久以后的,
    如果不是,可以等运行很长时间,比如几个小时,1天之后
    再dump一个,看看占用量是不是有很大的增加,如果是的话估计有内存泄露问题
      

  2.   

    至于你问那个int[]为什么占用这么多,可以直接右键,Use selected instances
    然后incomming references那项,可以看见具体是被什么引用到的,
    很多都是jvm自己用的,不用管,只用关注被你自己类引用到的
      

  3.   

    那你用jstack查查到底这个时候有哪些线程还在运行呗
    先jps查到当前进程号,然后jstack pid可以把当前的线程在执行什么打印出来
    然后去查代码
      

  4.   

    而且java创建线程占用的内存好像并不是由JVM控制的,是jvm使用内存外的内存占用的。因为我的程序运行时,JVM始终没有超过它的最大值256M,但是windows任务管理器却显示1G多了,这显然是不对的。
      

  5.   

    什么jstack,你说的好多技术我都不会
      

  6.   

    我上班去了..回来再说吧,公司不能上网..jstack那个你baidu一下就知道了