在java中上传文件出现内存溢出怎么解决标签:java,内存,溢出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中上传文件出现内存溢出怎么解决标签:java,内存,溢出相关的知识,希望对你有一定的参考价值。

当我在做上传的时候,文件超过20兆左右,就会报java.lang.OutOfMemoryError内存溢

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
request.setCharacterEncoding("GBK");
HttpSession session = (HttpSession) request.getSession();
final long MAX_SIZE = 10 * 1024 * 1024;// 设置上传文件最大为 10M
// 允许上传的文件格式的列表
final String[] allowedExt = new String[] "jpg", "jpeg", "gif", "png",
"JPG", "bmp", "BMP" ;
response.setContentType("text/html;charset=gbk");
// 设置字符编码为UTF-8, 这样支持汉字显示
response.setCharacterEncoding("GBK");
String strImageName = (String) session.getAttribute("strName");
if (ServletFileUpload.isMultipartContent(request))
// 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload
DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘
dfif.setRepository(new File(this.getServletContext().getRealPath(
"/")
+ "Image"));// 设置存放临时文件的目录,web根目录下的Image目录
// 用以上工厂实例化上传组件
ServletFileUpload sfu = new ServletFileUpload(dfif); // 设置最大上传尺寸
sfu.setSizeMax(MAX_SIZE); PrintWriter out = response.getWriter();
// 从request得到 所有 上传域的列表
List fileList = null;
try
fileList = sfu.parseRequest(request);
catch (FileUploadException e) // 处理文件尺寸过大异常
if (e instanceof SizeLimitExceededException)
out.println("文件尺寸超过规定大小:" + MAX_SIZE + "字节<p />");
out.println("<a href=\'addGoods.jsp\' >返回</a>");
return;

e.printStackTrace();

// 没有文件上传
if (fileList == null || fileList.size() == 0)
out.println("请选择要上传文件a<p />");
out.println("<a href=\'addGoods.jsp\' >返回</a>");
return;

// 得到所有上传的文件
Iterator fileItr = fileList.iterator();
// 循环处理所有文件
this.list = new ArrayList();
while (fileItr.hasNext())
long size = 0;
// 得到当前文件
fileItem = (FileItem) fileItr.next();
// 忽略简单form字段而不是上传域的文件域(<input type="text" />等)
if (fileItem == null || fileItem.isFormField())
System.out.println(fileItem.getFieldName());
inputstr = fileItem.getString("GBK");
list.add(inputstr);
continue;

// 得到文件的完整路径
path = fileItem.getName();
// 得到文件的大小
size = fileItem.getSize();
if ("".equals(path) || size == 0)
out.println("请选择上传文件<p />");
out.println("<a href=\'addGoods.jsp\' >返回</a>");
return;

System.out.println("文件的完整路径" + path);
// 得到去除路径的文件名
t_name = path.substring(path.lastIndexOf("\\\\") + 1);
// 得到文件的扩展名(无扩展名时将得到全名)
String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1);
// 拒绝接受规定文件格式之外的文件类型
//System.out.println("文件名:" + t_name);
//System.out.println("文件扩展名:"+t_ext);
// System.out.println(t_ext);
int allowFlag = 0;
int allowedExtCount = allowedExt.length;
for (; allowFlag < allowedExtCount; allowFlag++)
if (allowedExt[allowFlag].equals(t_ext))
break;

if (allowFlag == allowedExtCount)
out.println("请上传以下类型的文件<p />");
for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++)
out.println("*." + allowedExt[allowFlag]
+ " ");
out.println("<p /><a href=\'addGoods.jsp\' >返回</a>");
return;

long now = System.currentTimeMillis();
// 根据系统时间生成上传后保存的文件名
u_name = this.getServletContext().getRealPath("/")
+ "ImageDown\\\\" + t_name;
//System.out.println(u_name);
try
// 保存文件
fileItem.write(new File(u_name));
/*out
.println("文件上传成功. 文件大小: " + size
+ "字节<p />");
out.println("图片上传成功!"
+ "<a href=\'addGoods.jsp\' >继续添加商品</a>");*/
catch (Exception e)
e.printStackTrace();

给个例子你看看,这个是我写的一个,记得给分啊
参考技术A public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
request.setCharacterEncoding("GBK");
HttpSession session = (HttpSession) request.getSession();
final long MAX_SIZE = 10 * 1024 * 1024;// 设置上传文件最大为 10M
// 允许上传的文件格式的列表
final String[] allowedExt = new String[] "jpg", "jpeg", "gif", "png",
"JPG", "bmp", "BMP" ;
response.setContentType("text/html;charset=gbk");
// 设置字符编码为UTF-8, 这样支持汉字显示
response.setCharacterEncoding("GBK");
String strImageName = (String) session.getAttribute("strName");
if (ServletFileUpload.isMultipartContent(request))
// 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload
DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘
dfif.setRepository(new File(this.getServletContext().getRealPath(
"/")
+ "Image"));// 设置存放临时文件的目录,web根目录下的Image目录
// 用以上工厂实例化上传组件
ServletFileUpload sfu = new ServletFileUpload(dfif); // 设置最大上传尺寸
sfu.setSizeMax(MAX_SIZE); PrintWriter out = response.getWriter();
// 从request得到 所有 上传域的列表
List fileList = null;
try
fileList = sfu.parseRequest(request);
catch (FileUploadException e) // 处理文件尺寸过大异常
if (e instanceof SizeLimitExceededException)
out.println("文件尺寸超过规定大小:" + MAX_SIZE + "字节<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;

e.printStackTrace();

// 没有文件上传
if (fileList == null || fileList.size() == 0)
out.println("请选择要上传文件a<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;

// 得到所有上传的文件
Iterator fileItr = fileList.iterator();
// 循环处理所有文件
this.list = new ArrayList();
while (fileItr.hasNext())
long size = 0;
// 得到当前文件
fileItem = (FileItem) fileItr.next();
// 忽略简单form字段而不是上传域的文件域(<input type="text" />等)
if (fileItem == null || fileItem.isFormField())
System.out.println(fileItem.getFieldName());
inputstr = fileItem.getString("GBK");
list.add(inputstr);
continue;

// 得到文件的完整路径
path = fileItem.getName();
// 得到文件的大小
size = fileItem.getSize();
if ("".equals(path) || size == 0)
out.println("请选择上传文件<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;

System.out.println("文件的完整路径" + path);
// 得到去除路径的文件名
t_name = path.substring(path.lastIndexOf("\\") + 1);
// 得到文件的扩展名(无扩展名时将得到全名)
String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1);
// 拒绝接受规定文件格式之外的文件类型
//System.out.println("文件名:" + t_name);
//System.out.println("文件扩展名:"+t_ext);
// System.out.println(t_ext);
int allowFlag = 0;
int allowedExtCount = allowedExt.length;
for (; allowFlag < allowedExtCount; allowFlag++)
if (allowedExt[allowFlag].equals(t_ext))
break;

if (allowFlag == allowedExtCount)
out.println("请上传以下类型的文件<p />");
for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++)
out.println("*." + allowedExt[allowFlag]
+ " ");
out.println("<p /><a href='addGoods.jsp' >返回</a>");
return;

long now = System.currentTimeMillis();
// 根据系统时间生成上传后保存的文件名
u_name = this.getServletContext().getRealPath("/")
+ "ImageDown\\" + t_name;
//System.out.println(u_name);
try
// 保存文件
fileItem.write(new File(u_name));
/*out
.println("文件上传成功. 文件大小: " + size
+ "字节<p />");
out.println("图片上传成功!"
+ "<a href='addGoods.jsp' >继续添加商品</a>");*/
catch (Exception e)
e.printStackTrace();

给个例子你看看,这个是我写的一个,记得给分啊
参考技术B 你在这里不是已经设置了文件的最大为10MB吗???你20MB文件上传肯定不行的啦。。。抛异常

经常出现蓝屏 说物理内存溢出怎么办?

有时候在浏览网页,有时候在打游戏,突然就出现蓝屏,都是一样的内容,都说内存溢出,请问有什么解决之道??

windows蓝屏错误
1 0×00000001 不正确的函数。
2 0×00000002 系统找不到指定的档案。
3 0×00000003 系统找不到指定的路径。
4 0×00000004 系统无法开启档案。
5 0×00000005 拒绝存取。
6 0×00000006 无效的代码。
7 0×00000007 储存体控制区块已毁。
8 0×00000008 储存体空间不足,无法处理这个指令。
9 0×00000009 储存体控制区块地址无效。
10 0×0000000A 环境不正确。
11 0×0000000B 尝试加载一个格式错误的程序。
12 0×0000000C 存取码错误。
13 0×0000000D 资料错误。
14 0×0000000E 储存体空间不够,无法完成这项作业。
15 0×0000000F 系统找不到指定的磁盘驱动器。
16 0×00000010 无法移除目录。
16 0×00000010 无法移除目录。
17 0×00000011 系统无法将档案移到 其它的磁盘驱动器。
18 0×00000012 没有任何档案。
19 0×00000013 储存媒体为写保护状态。
20 0×00000014 系统找不到指定的装置。
21 0×00000015 装置尚未就绪。
22 0×00000016 装置无法识别指令。
23 0×00000017 资料错误 (cyclic redundancy check)
24 0×00000018 程序发出一个长度错误的指令。
25 0×00000019 磁盘驱动器在磁盘找不到 持定的扇区或磁道。
26 0×0000001A 指定的磁盘或磁盘无法存取。
27 0×0000001B 磁盘驱动器找不到要求的扇区。
28 0×0000001C 打印机没有纸。
29 0×0000001D 系统无法将资料写入指定的磁盘驱动器。
30 0×0000001E 系统无法读取指定的装置。
31 0×0000001F 连接到系统的某个装置没有作用。
32 0×00000020 The process cannot access the file because it is being used by another process.
33 0×00000021 档案的一部份被锁定, 现在无法存取。
34 0×00000022 磁盘驱动器的磁盘不正确。 请将 %2 (Volume Serial Number: %3) 插入磁盘机%1。
36 0×00000024 开启的分享档案数量太多。
38 0×00000026 到达档案结尾。
39 0×00000027 磁盘已满。
50 0×00000032 不支持这种网络要求。
51 0×00000033 远程计算机无法使用。
52 0×00000034 网络名称重复。
53 0×00000035 网络路径找不到。
54 0×00000036 网络忙碌中。
55 0×00000037 The specified network resource or device is no longer available.
56 0×00000038 The network BIOS command limit has been reached. 57 0×00000039 网络配接卡发生问题。
58 0×0000003A 指定的服务器无法执行要求的作业。
59 0×0000003B 网络发生意外错误。
60 0×0000003C 远程配接卡不兼容。
61 0×0000003D 打印机队列已满。
62 0×0000003E 服务器的空间无法储存等候打印的档案。
63 0×0000003F 等候打印的档案已经删除。
64 0×00000040 指定的网络名称无法使用。
65 0×00000041 拒绝存取网络。
65 0×00000041 拒绝存取网络。
66 0×00000042 网络资源类型错误。
67 0×00000043 网络名称找不到。
68 0×00000044 超过区域计算机网络配接卡的名称限制。
69 0×00000045 超过网络 BIOS 作业阶段的限制。
70 0×00000046 远程服务器已经暂停或者正在起始中。
71 0×00000047 由于联机数目已达上限,此时无法再联机到这台远程计算机。
72 0×00000048 指定的打印机或磁盘装置已经暂停作用。
80 0×00000050 档案已经存在。
82 0×00000052 无法建立目录或档案。
83 0×00000053 INT 24 失败
84 0×00000054 处理这项要求的储存体无法使用。
85 0×00000055 近端装置名称已经在使用中。
86 0×00000056 指定的网络密码错误。
87 0×00000057 参数错误。
88 0×00000058 网络发生资料写入错误。
89 0×00000059 此时系统无法执行其它行程。
100 0×00000064 无法建立其它的系统 semaphore。 101 0×00000065 属于其它行程专用的 semaphore.
102 0×00000066 semaphore 已经设定,而且无法关闭。
103 0×00000067 无法指定 semaphore 。
104 0×00000068 在岔断时间无法要求专用的 semaphore 。
104 0×00000068 在岔断时间无法要求专用的 semaphore 。
105 0×00000069 此 semaphore 先前的拥有权已经结束。
106 0×0000006A 请将磁盘插入 %1。
107 0×0000006B 因为代用的磁盘尚未插入,所以程序已经停止。
108 0×0000006C 磁盘正在使用中或被锁定。
109 0×0000006D Pipe 已经中止。
110 0×0000006E 系统无法开启指定的 装置或档案。
111 0×0000006F 档名太长。
112 0×00000070 磁盘空间不足。
113 0×00000071 没有可用的内部档案标识符。
114 0×00000072 目标内部档案标识符不正确。
117 0×00000075 由应用程序所执行的 IOCTL 呼叫 不正确。
118 0×00000076 写入验证参数值不正确。
119 0×00000077 系统不支持所要求的指令。
120 0×00000078 此项功能仅在 Win32 模式有效。
121 0×00000079 semaphore 超过逾时期间。
122 0×0000007A 传到系统呼叫的资料区域 太小。
123 0×0000007B 文件名、目录名称或储存体卷标语法错误。
124 0×0000007C 系统呼叫层次不正确。
125 0×0000007D 磁盘没有设定卷标。
126 0×0000007E 找不到指定的模块。
127 0×0000007F 找不到指定的程序。
128 0×00000080 没有子行程可供等待。
128 0×00000080 没有子行程可供等待。
129 0×00000081 %1 这个应用程序无法在 Win32 模式下执行。
130 0×00000082 Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
131 0×00000083 尝试将档案指针移至档案开头之前。
132 0×00000084 无法在指定的装置或档案,设定档案指针。
133 0×00000085 JOIN 或 SUBST 指令 无法用于 内含事先结合过的磁盘驱动器。
134 0×00000086 尝试在已经结合的磁盘驱动器,使用 JOIN 或 SUBST 指令。
135 0×00000087 尝试在已经替换的磁盘驱动器,使 用 JOIN 或 SUBST 指令。
136 0×00000088 系统尝试删除 未连结过的磁盘驱动器的连结关系。
137 0×00000089 系统尝试删除 未替换过的磁盘驱动器的替换关系。
138 0×0000008A 系统尝试将磁盘驱动器结合到已经结合过之磁盘驱动器的目录。
139 0×0000008B 系统尝试将磁盘驱动器替换成已经替换过之磁盘驱动器的目录。
140 0×0000008C 系统尝试将磁盘驱动器替换成已经替换过之磁盘驱动器的目录。
141 0×000000 系统尝试将磁盘驱动器 SUBST 成已结合的磁盘驱动器 目录。
142 0×0000008E 系统此刻无法执行 JOIN 或 SUBST。
143 0×0000008F 系统无法将磁盘驱动器结合或替换同一磁盘驱动器下目录。
144 0×00000090 这个目录不是根目录的子目录。
145 0×00000091 目录仍有资料。
146 0×00000092 指定的路径已经被替换过。
147 0×00000093 资源不足,无法处理这项 指令。
148 0×00000094 指定的路径这时候无法使用。
148 0×00000094 指定的路径这时候无法使用。
149 0×00000095 尝试要结合或替换的磁盘驱动器目录,是已经替换过的的目标。
150 0×00000096 CONFIG.SYS 文件未指定系统追踪信息,或是追踪功能被取消。
151 0×00000097 指定的 semaphore事件 DosMuxSemWait 数目不正确。
152 0×00000098 DosMuxSemWait 没有执行;设定太多的 semaphore。
153 0×00000099 DosMuxSemWait 清单不正确。
154 0×0000009A 您所输入的储存媒体标 元长度限制。
155 0×0000009B 无法建立其它的执行绪。
156 0×0000009C 接收行程拒绝接受信号。
157 0×0000009D 区段已经被舍弃,无法被锁定。
158 0×0000009E 区段已经解除锁定。
159 0×0000009F 执行绪识别码的地址不正确。
160 0×000000A0 传到 DosExecPgm 的自变量字符串不正确。
161 0×000000A1 指定的路径不正确。
162 0×000000A2 信号等候处理。
164 0×000000A4 系统无法建立执行绪。
167 0×000000A7 无法锁定档案的部份范围。
170 0×000000AA 所要求的资源正在使用中。
173 0×000000AD 取消范围的锁定要求不明显。
174 0×000000AE 档案系统不支持自动变更锁定类型。
180 0×000000B4 系统发现不正确的区段号码。
182 0×000000B6 操作系统无法执行 %1。
182 0×000000B6 操作系统无法执行 %1。
183 0×000000B7 档案已存在,无法建立同一档案。
186 0×000000BA 传送的旗号错误。
187 0×000000BB 指定的系统旗号找不到。
188 0×000000BC 操作系统无法执行 %1。
189 0×000000BD 操作系统无法执行 %1。
190 0×000000BE 操作系统无法执行 %1。
191 0×000000BF 无法在 Win32 模式下执行 %1。
192 0×000000C0 操作系统无法执行 %1。
193 0×000000C1 %1 不是正确的 Win32 应用程序。
194 0×000000C2 操作系统无法执行 %1。
195 0×000000C3 操作系统无法执行 %1。
196 0×000000C4 操作系统无法执行 这个应用程序。
197 0×000000C5 操作系统目前无法执行 这个应用程序。
198 0×000000C6 操作系统无法执行 %1。
199 0×000000C7 操作系统无法执行 这个应用程序。
200 0×000000C8 程序代码的区段不可以大于或等于 64KB。
201 0×000000C9 操作系统无法执行 %1。
202 0×000000CA 操作系统无法执行 %1。
203 0×000000CB 系统找不到输入的环境选项。\r
205 0×000000CD 在指令子目录下,没有任何行程有信号副处理程序。
206 0×000000CE 文件名称或扩展名太长。
207 0×000000CF ring 2 堆栈使用中。
207 0×000000CF ring 2 堆栈使用中。
208 0×000000D0 输入的通用档名字元 * 或 ? 不正确, 或指定太多的通用档名字元。
209 0×000000D1 所传送的信号不正确。
210 0×000000D2 无法设定信号处理程序。
212 0×000000D4 区段被锁定,而且无法重新配置。
214 0×000000D6 附加到此程序或动态连结模块的动态连结模块太多。
215 0×000000D7 Can’t nest calls to LoadModule.
230 0×000000E6 The pipe state is invalid.
231 0×000000E7 所有的 pipe instances 都在忙碌中。
232 0×000000E8 The pipe is being closed.
233 0×000000E9 No process is on the other end of the pipe.
234 0×000000EA 有更多可用的资料。
240 0×000000F0 作业阶段被取消。
254 0×000000FE 指定的延伸属性名称无效。
255 0×000000FF 延伸的属性不一致。
259 0×00000103 没有可用的资料。
266 0×0000010A 无法使用 Copy API。
267 0×0000010B 目录名称错误。
275 0×00000113 延伸属性不适用于缓冲区。
276 0×00000114 在外挂的档案系统上的延伸属性档案已经毁损。
277 0×00000115 延伸属性表格文件满。
278 0×00000116 指定的延伸属性代码无效。
278 0×00000116 指定的延伸属性代码无效。
282 0×0000011A 外挂的这个档案系统不支持延伸属性。
288 0×00000120 意图释放不属于叫用者的 mutex。
298 0×0000012A semaphore 传送次数过多。
299 0×0000012B 只完成 Read/WriteProcessMemory 的部份要求。
317 0×0000013D 系统找不到位于讯息文件 %2 中编号为 0×0000%1 的讯息。
487 0×000001E7 尝试存取无效的地址。
534 0×00000216 运算结果超过 32 位。
535 0×00000217 信道的另一端有一个行程在接送资料。
536 0×00000218 等候行程来开启信道的另一端。
994 0×000003E2 存取延伸的属性被拒。
995 0×000003E3 由于执行绪结束或应用程序要求,而异常终止 I/O 作业。
996 0×000003E4 重叠的 I/O 事件不是设定成通知状态。
997 0×000003E5 正在处理重叠的 I/O 作业。
998 0×000003E6 对内存位置的无效存取。
999 0×000003E7 执行 inpage 作业发生错误。
1001 0×000003E9 递归太深,堆栈满溢。
1002 0×000003EA 窗口无法用来传送讯息。
1003 0×000003EB 无法完成这项功能。
1004 0×000003EC 旗号无效。
1005 0×000003ED 储存媒体未含任何可辨识的档案系统。 请确定以加载所需的系统驱动程序,而且该储存媒体并未毁损。
1006 0×000003EE 储存该档案的外部媒体发出警告,表示该已开启档案已经无效。
1007 0×000003EF 所要求的作业无法在全屏幕模式下执行。
1008 0×000003F0 An attempt was made to reference a token that does not exist.
1009 0×000003F1 组态系统登录数据库毁损。
1010 0×000003F2 组态系统登录机码无效。
1011 0×000003F3 无法开启组态系统登录机码。
1012 0×000003F4 无法读取组态系统登录机码。
1013 0×000003F5 无法写入组态系统登录机码。
1014 0×000003F6 系统登录数据库中的一个档案必须使用记录或其它备份还原。 已经还原成功。
1015 0×000003F7 系统登录毁损。其中某个档案毁损、或者该档案的 系统映对内存内容毁损、会是档案无法复原。
1016 0×000003F8 系统登录起始的 I/O 作业发生无法复原的错误。 系统登录无法读入、写出或更新,其中的一个档案 内含系统登录在内存中的内容。
1017 0×000003F9 系统尝试将档案加载系统登录或将档案还原到系统登录中, 但是,指定档案的格式不是系统登录文件的格式。
1018 0×000003FA 尝试在标示为删除的系统登录机码,执行不合法的操作。
1018 0×000003FA 尝试在标示为删除的系统登录机码,执行不合法的操作。
1019 0×000003FB 系统无法配置系统登录记录所需的空间。
1020 0×000003FC 无法在已经有子机码或数值的系统登录机码建立符号连结。
1021 0×000003FD 无法在临时机码下建立永久的子机码。
1022 0×000003FE 变更要求的通知完成,但信息 并未透过呼叫者的缓冲区传回。呼叫者现在需要自行列举档案,找出变更的地方。
1051 0×0000041B 停止控制已经传送给其它服务 所依峙的一个服务。
1052 0×0000041C 要求的控制对此服务无效
1053 0×0000041D The service did not respond to the start or control request in a timely fashion. 1054 0×0000041E 无法建立服务的执行绪。
1055 0×0000041F 服务数据库被锁定。
1056 0×00000420 这种服务已经在执行。
1057 0×00000421 帐户名称错误或者不存在。
1058 0×00000422 指定的服务暂停作用,无法激活。

——————————————————————————–
回复1:windows蓝屏错误小全。续,帮忙积分,给点鼓励。嘿嘿
作者:ocelot
发表于:10/16/2003 11:32:24 AM

1059 0×00000423 指定循环服务从属关系。
1060 0×00000424 指定的服务不是安装进来的服务。
1061 0×00000425 该服务项目此时无法接收控制讯息。
1062 0×00000426 服务尚未激活。
1063 0×00000427 无法联机到服务控制程序。
1064 0×00000428 处理控制要求时,发生意外状况。
1065 0×00000429 指定的数据库不存在。
1065 0×00000429 指定的数据库不存在。
1066 0×0000042A 服务传回专属于服务的错误码。
1067 0×0000042B The process terminated unexpectedly.
1068 0×0000042C 从属服务或群组无法激活。
1069 0×0000042D 因为登入失败,所以没有激活服务。
1070 0×0000042E 在激活之后,服务在激活状态时当机。
1071 0×0000042F 指定服务数据库锁定无效。
1072 0×00000430 指定的服务已经标示为删除。
1073 0×00000431 指定的服务已经存在。
1074 0×00000432 系统目前正以上一次执行成功的组态执行。
1075 0×00000433 从属服务不存在,或已经标示为删除。
1076 0×00000434 目前的激活已经接受上一次执行成功的 控制设定。
1077 0×00000435 上一次激活之后,就没有再激活服务。
1078 0×00000436 指定的名称已经用于服务名称或服务显示 名称。
1100 0×0000044C 已经到了磁带的最后。
1101 0×0000044D 到了档案标示。
1102 0×0000044E 遇到磁带的开头或分割区。
1103 0×0000044F 到了档案组的结尾。
1104 0×00000450 磁带没有任何资料。
1105 0×00000451 磁带无法制作分割区。
1106 0×00000452 存取多重容体的新磁带时,发现目前 区块大小错误。
1107 0×00000453 加载磁带时,找不到磁带分割区信息。
1108 0×00000454 无法锁住储存媒体退带功能。
1108 0×00000454 无法锁住储存媒体退带功能。
1109 0×00000455 无法解除加载储存媒体。
1110 0×00000456 磁盘驱动器中的储存媒体已经变更。
1111 0×00000457 已经重设 I/O 总线。
1112 0×00000458 磁盘驱动器没有任何储存媒体。
1113 0×00000459 目标 multi-byte code page,没有对应 Unicode 字符。
1114 0×0000045A 动态链接库 (DLL) 起始例程失败。
1115 0×0000045B 系统正在关机。
1116 0×0000045C 无法中止系统关机,因为没有关机的动作在进行中。
1117 0×0000045D 因为 I/O 装置发生错误,所以无法执行要求。
1118 0×0000045E 序列装置起始失败,会取消加载序列驱动程序。
1119 0×0000045F 无法开启装置。这个装置与其它装置共享岔断要求 (IRQ)。 至少已经有一个使用同一IRQ 的其它装置已经开启。
1120 0×00000460 A serial I/O operation was completed by another write to the serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.)
1121 0×00000461 因为已经过了逾时时间,所以序列 I/O 作业完成。(IOCTL_SERIAL_XOFF_COUNTER 不是零。)
1122 0×00000462 在磁盘找不到任何的 ID 地址标示。
1123 0×00000463 磁盘扇区 ID 字段与磁盘控制卡追踪地址 不符。
1124 0×00000464 软式磁盘驱动器控制卡回报了一个软式磁盘驱动器驱动程序无法识别的错误。
1125 0×00000465 软式磁盘驱动器控制卡传回与缓存器中不一致的结果。
1126 0×00000466 存取硬盘失败,重试后也无法作业。
1127 0×00000467 存取硬盘失败,重试后也无法作业。
1128 0×00000468 存取硬盘时,必须重设磁盘控制卡,但是 连重设的动作也失败。
1129 0×00000469 到了磁带的最后。
1130 0×0000046A 可用服务器储存空间不足,无法处理这项指令。
1131 0×0000046B 发现潜在的死锁条件。
1132 0×0000046C 指定的基本地址或档案位移没有适当 对齐。
1140 0×00000474 尝试变更系统电源状态,但其它的应用程序或驱动程序拒绝。
1141 0×00000475 系统 BIOS 无法变更系统电源状态。
1150 0×0000047E 指定的程序需要新的 Windows 版本。
1151 0×0000047F 指定的程序不是 Windows 或 MS-DOS 程序。
1152 0×00000480 指定的程序已经激活,无法再激活一次。
1153 0×00000481 指定的程序是为旧版的 Windows 所写的。
1154 0×00000482 执行此应用程序所需的链接库档案之一毁损。
1155 0×00000483 没有应用程序与此项作业的指定档案建立关联。
1156 0×00000484 传送指令到应用程序发生错误。
1157 0×00000485 找不到执行此应用程序所需的链接库档案。
1200 0×000004B0 指定的装置名称无效。
1201 0×000004B1 装置现在虽然未联机,但是它是一个记忆联机。
1202 0×000004B2 尝试记忆已经记住的装置。
1203 0×000004B3 提供的网络路径找不到任何网络提供程序。
1203 0×000004B3 提供的网络路径找不到任何网络提供程序。
1204 0×000004B4 指定的网络提供程序名称错误。
1205 0×000004B5 无法开启网络联机设定文件。
1206 0×000004B6 网络联机设定文件坏掉。
1207 0×000004B7 无法列举非容器。
1208 0×000004B8 发生延伸的错误。
1209 0×000004B9 指定的群组名称错误。
1210 0×000004BA 指定的计算机名称错误。
1211 0×000004BB 指定的事件名称错误。
1212 0×000004BC 指定的网络名称错误。
1213 0×000004BD 指定的服务名称错误。
1214 0×000004BE 指定的网络名称错误。
1215 0×000004BF 指定的资源共享名称错误。
1216 0×000004C0 指定的密码错误。
1217 0×000004C1 指定的讯息名称错误。
1218 0×000004C2 指定的讯息目的地错误。
1219 0×000004C3 所提供的条件与现有的条件组发生冲突。
1220 0×000004C4 尝试与网络服务器联机,但是 与该服务器的联机已经太多。
1221 0×000004C5 其它网络计算机已经在使用这个工作群组或网域名称。
1222 0×000004C6 网络没有显示出来或者没有激活。
1223 0×000004C7 使用者已经取消作业。
1224 0×000004C8 要求的作业无法在已经开启使用者对应区段的档案执行。
1225 0×000004C9 远程系统拒绝网络联机。
1225 0×000004C9 远程系统拒绝网络联机。
1226 0×000004CA 关闭网络联机。
1227 0×000004CB 网络传输端点已经有相关连的地址。
1228 0×000004CC 地址尚未有相关的网络端点。
1229 0×000004CD 尝试在不存在的网络连线作业。
1230 0×000004CE 在作用中的网络联机上执行无效的作业。
1231 0×000004CF 无法传输到远程网络。
1232 0×000004D0 无法联机到远程系统。
1233 0×000004D1 远程系统不支持传输通讯协议。
1234 0×000004D2 远程系统的目的地网络端点没有作何执行中的服务。
1235 0×000004D3 要求已经中止。
1236 0×000004D4 进端系统已经中断网络联机。
1237 0×000004D5 无法完成作业,请重试。
1238 0×000004D6 无法与服务器联机,原因是这个帐户已经到达同时联机数目 的上限。
1239 0×000004D7 尝试在这个帐户未授权的时间登入网络。
1240 0×000004D8 这个帐户无法从这个地方登入网络。
1241 0×000004D9 网络地址无法用于这个要求的作业。
1242 0×000004DA 服务已经登记。
1243 0×000004DB 指定的服务不存在。
1244 0×000004DC 作业无法执行,原因是使用者尚未授权使用。
1245 0×000004DD 要求的作业无法执行,原因是使用者尚未登入网络。 指定的服务不存在。
1246 0×000004DE 传回要求呼叫者继续工作的讯息。
1247 0×000004DF 在完成起始作业之后,尝试再执行起始作业。
1248 0×000004E0 没有其它的近端装置。
1300 0×00000514 并未指定所有的参照权限给呼叫者。
1301 0×00000515 帐户名称与安全识别码之间尚有未执行完成的联机。
1302 0×00000516 此帐户并未设定特别的系统配额限制。
1303 0×00000517 没有可用的加密机码。传回一个已知的加密机码。
1304 0×00000518 NT 密码太复杂,无法转换成 LAN Manager 密码。传回的LAN Manager密码是一个空字符串。
1305 0×00000519 修正层次不详。
1306 0×0000051A 表示两个修订阶层不兼容。
1307 0×0000051B 此安全识别码无法指定为这个对象的拥有者。
1308 0×0000051C 此安全识别码无法指定为主要的对象群组。
1309 0×0000051D An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.
1310 0×0000051E 不可以关闭群组。
1311 0×0000051F 目前没有可登入的服务器,所以无法处理登入要求。
1312 0×00000520 指定登入作业阶段不存在。该作业阶段可能已经 结束。
1313 0×00000521 指定的权限不存在。
1313 0×00000521 指定的权限不存在。
1314 0×00000522 客户端未列出要求的权限。
1315 0×00000523 所提供的名称格式与帐户名称不符。
1316 0×00000524 指定的使用者已经存在。
1317 0×00000525 指定的使用者不存在。
1318 0×00000526 指定的群组已经存在。
1319 0×00000527 指定的群组不存存。
1320 0×00000528 指定的使用者帐户已经是指定群组的成员,或 指定的群组因为内含成员而无法删除。
1321 0×00000529 指定的使用者帐户不是指定的群组帐户成员。
1322 0×0000052A 上一次留下来的管理帐户无法关闭或 删除。
1323 0×0000052B 无法更新密码。所输入的密码不正确。
1324 0×0000052C 无法更新密码。所输入的新密码内含不符合 密码规定。
1325 0×0000052D 因为违反密码更新规则,所以无法更新密码。
1326 0×0000052E 登入失败: 无法辨识的使用者名称或密码错误。
1327 0×0000052F 登入失败: 使用者帐户限制。
1328 0×00000530 登入失败: 违反帐户登入时间限制。
1329 0×00000531 登入失败: 使用者不可登入这部计算机。
1330 0×00000532 登入失败: 指定的帐户密码过期。
1331 0×00000533 登入失败: 帐户目前无效。
1332 0×00000534 帐户名称与帐户识别码不符。
1333 0×00000535 一次要求太多的近端使用者识别码 (local user identifiers,LUIDs)。
1333 0×00000535 一次要求太多的近端使用者识别码 (local user identifiers,LUIDs)。
1334 0×00000536 没有可用的近端使用者识别码 (local user identifiers ,LUIDs)。
1335 0×00000537 安全识别码的转授权部份对这个特殊用法无效。
1336 0×00000538 无效的存取控制清单结构。
1337 0×00000539 安全识别码结构无效。
1338 0×0000053A 安全叙述子结构无效。
1340 0×0000053C 无法建立继承的存取控制清单或存取控件目。
1341 0×0000053D 服务器目前无效。
1342 0×0000053E 服务器目前可以使用。
1343 0×0000053F 所提供的值是无效的识别码授权值。
1344 0×00000540 没有可供安全信息更新使用的内存。
1345 0×00000541 指定的属性无效,或指定的属性与整个群
参考技术A 蓝屏故障和其它故障一样,根据成因大致可以分为软件和硬件两个方面。现在还是遵循先软后硬的原则来看看故障的成因和解决办法吧!
  一、软件引起的蓝屏故障
  1.重要文件损坏或丢失引起的蓝屏故障(包括病毒所致)。
  实例:Win98中的VxD(虚拟设备驱动程序)或是.DLL�动态连接库 之类的重要文件丢失,情况一般会比较严重,会出现“蓝屏警告”。
  解决方法一:记下所丢失或损坏的文件名�用Win98启动盘中的“Ext”命令从Win98安装盘中提取和恢复被损坏或丢失的文件,步骤如下:
  (1)用Win98启动盘引导计算机,在提示符下敲入“Ext”命令。
  (2)在提示“Please enter the path to the Windows CAB files( a):”后输入Win98安装压缩包所在的完整路径,如“F�\Pwin98\Win98”,完成后回车。
  (3)在提示“Please enter the name(s)of the file(s) you want to extract:”后输入你记下的丢失文件名,如“Bios.Vxd”,回车。
  (4)在解压路径提示“Please enter path to extract to(‘Enter’ for current directory):”后输入文件将被解压到的完整路径,如“C� \Windows\System”并敲回车。
  (5)最后出现确认提示“Is this Ok?(y/n):”,输入“y”后回车。“Ext”程序会自动查找安装盘中的CAB压缩包,并将文件释放到指定的位置。
  (6)重新启动即可。
  解决方法二:用杀毒软件杀毒。有的病毒可能会破坏注册表项�杀毒后注册表应恢复中毒之前的备份。
  解决方法三:如果能启动图形界面,可以采取重装主板以及显卡的驱动程序,和进行“系统文件扫描”来恢复被破坏或丢失的文件。“系统文件扫描”的方法为�单击“开始/程序/附件/系统工具/系统信息/工具/系统文件检查器”,然后扫描改动过的文件即可。
  2.注册表损坏导致文件指向错误所引起的蓝屏。
  实例:注册表的擅自改动(包括人为地改动和软件安装时的自动替换)�其现象表现为开机或是在调用程序时出现蓝屏,并且屏幕有出错信息显示(包含出错的文件名)。
  解决方法一:恢复备份。
  (1)单击“开始/关机/重新启动计算机并切换到MS-DOS方式”,然后单击“是”;
  (2)进入Windows目录下。例如,如果你的Windows安装在“C�\Windows” 目录下,应键入以下内容�“CD C�\WINDOWS”后回车;
  (3)键入“SCANREG\RESTORE”后回车。
  (4)按照上述步骤,可以将注册表恢复到最近一次启动计算机时的状态。
  解决方法二:删除键值。
  如果是在卸载程序后出现蓝屏的话,笔者断定故障是由于程序卸载不完善造成的。解决这类问题非常简单,首先你要记下出错的文件名,然后再到注册表中找到以下分支“HKEY_LOCAL_MACHINE\System
  \CurrentControlSet\Services\VxD”。在“查找”中输入刚才的文件名,把查到的键值删除即可。此时,千万不要忘记备份注册表哦!
  典型案例:笔者在删除金山毒霸时中途死机,重新启动后刚看到桌面的图标就出现蓝屏,并伴有错误信息出现。错误信息中提到Kavkrnl.vxd文件找不到,笔者首先根据文件名的前两个字符确定该文件不是Win98的系统文件,ka开头的应是金山毒霸的虚拟设备驱动程序。基本判断为文件指向错误,于是决定删除它在注册表中相应键值。在注册表编辑器的查找中输入“Kavkrnl.vxd”,将它在“HKEY_LOCAL_
  MACHINE\System\CurrentControlSet\Services\VxD”中的相应主键值删除,重启后故障消除。
  3.System.ini 文件错误引起的“蓝屏”。
  实例:软件卸载或是安装后未即时更新System.ini 文件所造成的错误。
  解决方法:禁用注册表中该项或是重新安装相应的软件或驱动程序。
  4.Win98自身的不完善造成的蓝屏。
  实例:Win98的sp1和Microsoft的Vxd_fix.exe补丁程序对Win98的稳定性起着至关重要的作用。
  解决方法:快去下载吧,如华军网站南京站http�//nj.onlinedown.net/Win98SP1.htm�Win98sp1 及http�//nj.onlinedown.net/Windows98VxDpatch.htm� Vxd_fix.exe 。
  5.系统资源耗尽引起的蓝屏故障。
  实例:蓝屏故障常常发生在进行一项比较大的工作时,或是在保存复制的时候,且往往发生得比较突然。这类故障的发生原因主要是与三个堆资源(系统资源、用户资源、GDI资源)的占用情况有关。
  解决方法:打开你的资源状况监视器,看一下剩余资源,如果你的三种资源都在50%甚至更低,就很容易出现诸如“非法操作”、“蓝屏”或“死机”故障。为此,必须减少资源浪费,减少不必要的程序加载,避免同时运行大程序(图形、声音和视频软件),例如加载计划任务程序,输入法和声音指示器,声卡的DOS驱动程序,系统监视器程序等等。
  6.DirectX问题引起的蓝屏故障。
  实例:(1)DirectX版本过低或是过高;(2)游戏与它不兼容或是不支持;(3)辅助重要文件丢失;(4)显卡对它不支持。
  解决方法:升级或是重装DirectX。如果是显卡不支持高版本的DirectX那就说明你的显卡实在是太老了,尝试更新显卡的BIOS和驱动程序,否则,只好花钱升级显卡了。
  二、硬件引起的蓝屏故障
  1.内存超频或不稳定造成的蓝屏。
  实例:随机性蓝屏。
  解决方法:先用正常频率运行,若还有问题。找一根好的内存条进行故障的替换查找,一般可以解决。再就是应当注意当CPU离内存很近时内存的散热问题。
  2.硬件的兼容性不好引起的蓝屏。
  兼容机好就好在它的性价比较高,坏就坏在它在进行组装的时候,由于用户没有完善的监测手段和相应的知识,无法进行一系列的兼容性测试,从而把隐患留在了以后的使用过程中。
  实例:升级内存时,将不同规格的内存条混插引起的故障。
  解决方法:注意内存条的生产厂家、内存颗粒和批号的差异,往往就是因为各内存条在主要参数上的不同而产生了蓝屏或死机,甚至更严重的内存故障。也可以换一下内存条所插的插槽位置。如果内存条还是不能正常工作,那就只好更换了。此处,提醒各位:内存在整个微机系统中起着非常重要的作用,它的好坏将直接影响到系统的稳定性,所以在内存的选购时要注意,最好是有内行人陪伴,避免买到Remark过的条子或频率过低的条子。
  3.硬件散热引起的“蓝屏”故障。
  实例:在微机的散热问题上所出现的故障,往往都有一定规律,一般在微机运行一段时间后才出现,表现为蓝屏死机或随意重启。故障原因主要是过热引起的数据读取和传输错误。
  解决方法:采取超频的应降频,超温的应降温。其实不一定所有的故障都那么复杂,有时候从简单的方面考虑,也能很好地解决问题�要学会触类旁通。
  4.I/O冲突引起的蓝屏现象。
  解决方法:这种现象出现得比较少,如果出现了,可以从系统中删除带!号或?号的设备名,重新启动计算机进行确认,或者请高手手动分配系统资源。
  凡事要防患于未然,下面是笔者总结出来的一些经验,可供大家参考:
  1 定期对重要的注册表文件进行手工备份,避免系统出错后,未能及时替换成备份文件而产生不可挽回的错误。
  2 尽量避免非正常关机,减少重要文件的丢失。如.VxD .DLL文件等。
  3 对普通用户而言,只要能正常运行,没有必要去升级显卡、主板的BIOS和驱动程序,避免升级造成的危害。
  4 定期检查优化系统文件,运行“系统文件检查器”进行文件丢失检查及版本校对。检查步骤参见前面相关介绍。
  5 减少无用软件的安装,尽量不用手工卸载或删除程序,以减少非法替换文件和文件指向错误的出现。
  6 如果不是内存特别大和其管理程序非常优秀,尽量避免大程序的同时运行,如果你发现在听MP3时有沙沙拉拉的声音,基本可以判定该故障是由内存不足而造成的。
参考资料:baidu历史资料
参考技术B 可能原因,按最有可能的情况排列:
1.病毒,查杀病毒;
2.内存条兼容性问题,更换内存再试;
3.操作系统出问题,可尝试覆盖安装或重装。
参考技术C 内存兼容性的可能性最大.
我原来就出现过和你一模一样的问题.
换了内存条之后就好了.
你可以用朋友的内存换到自己机器上试验一下.
如果没问题了.说明就是内存的事了.
参考技术D 优化类软件优化为上。

以上是关于在java中上传文件出现内存溢出怎么解决标签:java,内存,溢出的主要内容,如果未能解决你的问题,请参考以下文章

解决java读取大文件内存溢出问题,如何在不重

java读取大文件时内存溢出问题

你好,java 向数据库添加大量数据时内存溢出 在不改变内存的情况下如何解决? 你当时是怎么解决的

java 读取大容量文件,内存溢出?怎么分段读取(按一定容量读取)

java jdbc 批处理会造成内存溢出吗

java 读取大容量文件,内存溢出?怎么按几行读取,读取多次。