java -Xmx200
让java heap大于你要的值
让java heap大于你要的值
解决方案 »
- mysql的那个驱动不知应该放到哪个文件夹里
- 急,急:这个警告是什么意思--The serializable class chatClient does not declare a static final serialVersionUID field of
- java门外汉的几点疑问
- Java中怎样访问Sql Server中的BigInt型数据
- 错误提示java.lang.noclassdeffounderror,问题出在哪里?
- 怎样从数据库中读出数据?有详细些的资料吗?
- java如何调用系统命令?在线等待
- jolinna_xy 请进
- 为什么多了一句package程序运行差别那么大(高手请进)
- 关于jdbc的中文问题和jdk1.2的打印
- 用”appletviwer OutputApplet.html“出现以下错误
- JTextArea中的滚动条问题
uc的OutputStream好像关闭了就不能打开,最好不要建立多个连接,救命啊
如果是eclipse的话可以增加它的虚拟内存。做法如下
先右击eclipse的快捷方式->属性.
在目标中打入:D:\eclipse\eclipse.exe -Vmargs -Xmx128M
注意有空格的哦。前面的路径根据你自己的改就可以了。
让java heap大于你要的值
Out of Memory是一种可以处理的Error,一般策略是
try {
操作
} catch (OutofMemoryError e) {
释放一些资源
retry();
}
而且时间换空间也是有限度的,我从四年级就开始参加北京市和全国算法竞赛,拿到一道题第一件事就是空间估计和时间估计,来决定自己的算法,最开始我们写程序的可用内存空间都按64K来估计,有的题目明显超过需要就必须使用自定义编码等算法来减小,现在没有人强迫我们必须在一定的内存空间内解决,所以可以适当的放松一下,-Xmx就好了:)
我同意楼上时间换空间是有限度的,不过-Xmx有时候也不好使,
出现Out of memory,优化程序还是必要的。
非常感谢你,100多兆只是一个测试,所以 -Xmx 不一定完全符合需求,我想分多次写入ZipStream,可是那个OutputStream关闭后再也大不开了,
1、一般不会出现这个错误的,java内存控制很好。
2、如果出现,一般问题出在我们写的代码中,诸如内存没有释放等等。
3、想把5000个文件压缩,你一下子全部入流嘛?没有其他中间步骤?(如果有中间步骤,就先检查那部分代码,如果没有中间步骤,就说明不能这样处理,就看看ZipOutputStream类,是否提供了分批入流的方法。
现在没有中间步骤,怎样分批入流
java -ms256m -mx256m .......
把256改成接近你文件大小的数。