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