当前位置: 代码迷 >> Web Service >> weblogic8.13,net客户端,编写的webservice,在中间层出现内存快速溢出,该怎么解决
  详细解决方案

weblogic8.13,net客户端,编写的webservice,在中间层出现内存快速溢出,该怎么解决

热度:861   发布时间:2012-03-06 20:47:55.0
weblogic8.13,.net客户端,编写的webservice,在中间层出现内存快速溢出
在jws文件中写一个简单的获取数据方法调用:
/**
          *   @common:operation
          */
        public   int[]   Info_getIntArray()   throws   Exception     {
              int[]   a   =   null;
              try{
              a   =   new   int[100000];
              return   a;
              }
              finally{
                a   =   null;
                System.gc();
                System.runFinalization();
              }
        }        
当在客户端或者中间层调用此方法获取数据时:
内存暴涨,如果刷新过快,甚至weblogic服务停止,
不会因为代码内存溢出,
方法很简单
后来:通过Jprofiler工具测试java堆内存分配情况
发现:char[]   数据130多M
只要数据量增加,char[]数据也急速增加,达到顶,就内存溢出
这个问题困惑了一个多月,查了1万多论坛,还是解决不了
问bea公司,他们要登记,由于是搞开发,没有
大家能提提建议,或者解决办法吗,
万分感谢了!!!

------解决方案--------------------

------解决方案--------------------
char[] 数据 没看到数组在哪分配的啊.
------解决方案--------------------
我帮你顶吧
------解决方案--------------------
jf up 学习
------解决方案--------------------
up
------解决方案--------------------
用profile工具测试一下
------解决方案--------------------
WorkflowTracking
------解决方案--------------------
你去掉finally中的a = null;试试.
------解决方案--------------------
mark 学习
  相关解决方案