java.lang.OutOfMemoryError: Java heap space
来源:互联网 发布:mac怎么输入大写字母 编辑:程序博客网 时间:2024/06/06 00:44
在做Excel数据上传时,由于解析成功后,要预览excel中所有的数据,在jsp中要显示出来,于是各种问题出来了,内存溢出是最主要的问题,还有tomcat内存溢出、数据库操作也是一个很重要的问题,当数据量超过900条时,报内存溢出(连接数据库内存溢出、tomcat内存溢出、eclipse内存溢出),不过这也很容易想到;
我做Excel导入时时,思路如下(使用poi包):
1、先上传Excel附件 ,把附件信息,上传至服务器相关目录中,并记录上传附件的文件信息
2、有需要替换的字符,则替换为数据库中存在的编码或java内置字符,如性别中男替换为:1,女替换为:0 ,民族中汉族、满族、彝族等替换为数据库中定制的代码,这需要查询数据库 ,.......还有很多需要查询数据库的字段
3、校验excel数据是否存在错误,如存在,则需要说明是什么原因出错了,并记录行号、列号
4、把解析后的数据(直接可以存入数据库的数据)、原数据(Excel中原始数据)、excel标题分别存在session中(目前还没有想到更好的方法,如果用hadoop,应该可以很好的处理)
5、预览(如果上面的操作没有报错,则在预览时,有可能会报如下错误)
java.lang.OutOfMemoryError: Java heap space
at java.io.Win32FileSystem.resolve(Win32FileSystem.java:236)
at java.io.File.<init>(File.java:312)
at org.apache.naming.resources.FileDirContext.list(FileDirContext.java:899)
at org.apache.naming.resources.FileDirContext.listBindings(FileDirContext.java:332)
at org.apache.naming.resources.ProxyDirContext.listBindings(ProxyDirContext.java:516)
at org.apache.catalina.loader.WebappClassLoader.modified(WebappClassLoader.java:741)
at org.apache.catalina.loader.WebappLoader.modified(WebappLoader.java:478)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:399)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)
网络上的答案总结如下:
A、Tomcat/bin/catalina.bat,添加如下内容
set JAVA_OPTS=-Xms256m -Xmx512m -Djava.awt.headless=true [-XX:MaxPermSize=128M]
B.eclipse->windows->preferences..->tomcat->jvm..->jvm文本框里,添加-Xms256m -Xmx512m
C.eclipse->preference->java->instal jres->edit,增加参数:-Xms256m -Xmx512m
这些我都配置了,而且配置的物理内存比这个更大,不过还是没有解决我的问题,大家有什么好的解决方案吗?我现在是分页预览,不过不想这样处理。。。
- java.lang.OutOfMemoryError: heap space、PermGen space
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space问题
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space问题
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space 解决方法
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space 解决方法
- java.lang.OutOfMemoryError: Java heap space 解决方法
- java.lang.OutOfMemoryError: Java heap space 解决方法
- java.lang.OutOfMemoryError: Java heap space异常
- java.lang.OutOfMemoryError: Java heap space 解决方法
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space
- java.lang.OutOfMemoryError: Java heap space 解决方法
- java.lang.OutOfMemoryError: Java heap space
- java静态代理和动态代理
- 基于visual Studio2013解决C语言竞赛题之1003字母打印
- face recognition matlab code 人脸识别
- java 线程同步
- 套接字IO模型
- java.lang.OutOfMemoryError: Java heap space
- Python - while语句和if语句 的 用法 及 代码
- a href链接弹出新窗口的方法
- Leetcode Length of Last Word
- iOS开发网站链接
- 一些数学知识集合
- JAVA中String的split
- N阶楼梯上楼问题
- 三个水杯(改进)