专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Exception

java.lang.OutOfMemoryError web服务器的内存小

发布时间:2010-06-05 12:36:42 文章来源:www.iduyao.cn 采编人员:星星草

此问题如下:
在公司程序中,有可能web服务器的内存小了,出现java.lang.OutOfMemoryError
本人检查了程序,有以下几行认为会有不妥当,请大家给个建议:
方法:private void genExcelReport(Document doc, String reportName,
  File templateDir, String templateName, String saveDir, String fileName)
  throws Exception {....
XMLOutputter xmlOut = new XMLOutputter();
String xml = xmlOut.outputString(doc); --本人认为这个有点问题
reader = new StringReader(xml);
....}
这里的doc是一个很大的对象,大概有10的样子吧,所以这个xml对象应该也有
10 m左右,我想把它改成StringBuffer,或者StringBuilder有没有更好些,
如:
StringBuffer xml=xmlOut.outputString(doc);
reader = new StringReader(xml.toString);




------解决方法--------------------------------------------------------
用 StringBuilder 或者 StringBuffer 说不定在 8M 就内存溢出了!

10M 的对象全放在内存中很容易溢出的,具体要看你这是做什么的再进行优化。
------解决方法--------------------------------------------------------
这么大的 XML,不应用 DOM 进行解析,建议采用 SAX 进行解析。
------解决方法--------------------------------------------------------
 

探讨
这么大的 XML,不应用 DOM 进行解析,建议采用 SAX 进行解析。


------解决方法--------------------------------------------------------
 

探讨
这么大的 XML,不应用 DOM 进行解析,建议采用 SAX 进行解析。


对,长XML文件,不建议直接用 String 来解析。

有什么好方法呢? 用什么解析??


------解决方法--------------------------------------------------------
xml 大了,就得压缩传输。压缩后就小了,10兆的xml压缩完估计能少很多。
 

    
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: