首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JAVA内存溢出解决方案

2013-10-21 
JAVA内存溢出我们服务器用的是weblogic。主要功能有3个,FTP下载,解析XML,添加数据。解析XML和添加数据在一个

JAVA内存溢出
  我们服务器用的是weblogic。主要功能有3个,FTP下载,解析XML,添加数据。解析XML和添加数据在一个方法里。解析完直接添加数据到数据库。现因为年初,客户工作量大。为了提高效率,便启用多线程。最开始流程是这样的。开启线程下载,如果下载完XML,就再开启线程进行解析。(没一个线程下载,只会解析一个XML)。
一般是所有的东西下载完后才会解析XML。但让我奇怪的是,在解析XML的过程中报内存溢出,每次的位置都不一样。我记得内存不是应该在方法执行完的时候就会释放吗?我记得有一次,在循环调用添加方法的时候,内出溢出。我不知道为什么会出这种错误。哪位大神有解?
[解决办法]
使用什么方法解析的xml,如果是dom的话就会一次性把文件全部加载到内存中,有可能会导致内存溢出。采用事件解析xml可以避免此问题
[解决办法]
用XML传送50m的数据...


利用流式的解析方式吧,读一点解析一点。

[解决办法]

引用:
用的确实是demo4j,但XML不大,最大的也就是50M左右。如果是因为demo4j的话,那么解析后就会报错,会造成解析中断,但我的已经解析完了。。。


汗~你先试下dom4j解析20M的XML吧。。。

热点排行
Bad Request.