java.lang.OutOfMemoryError???

zxy_cp 2002-10-10 09:53:13
我的程序运行一半个小时后,便会产生这样一个错误,程序终止退出。,哪些情况会产生这种错误???望高手指教!谢谢!
...全文
66 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlecong 2002-10-11
  • 打赏
  • 举报
回复
对!有可能是结果集的数据太多了,没有及时的释放,建议用完就close并=null
wys1978 2002-10-11
  • 打赏
  • 举报
回复
Maybe the No. of rs is too big.
悠悠的爸爸 2002-10-11
  • 打赏
  • 举报
回复
我觉得很大可能是你在续循环中声明对象。
Joeblackyang 2002-10-11
  • 打赏
  • 举报
回复
这种情况主要是你的内存占用太多,无法再分配堆内存,所以jvm会停止所有的操作,解决办法有两种:

1。运行java时加参数
java -Xms<size> 定义初始堆大小
java -Xmx<size> 定义最大堆大小,可以定义得大一些
java -Xss<size> 定义线程堆栈大小
也可以不写X, 举例:
java -ss3M MyClass 表示运行MyClass要分配3M的线程堆栈。

2。如果你用WebLogic或WebSphere, 那么在console中可以设置jvm,
同样把以上参数设置得大一些。
zxy_cp 2002-10-10
  • 打赏
  • 举报
回复
我的代码里只使用了6个线程,每个线程扫描数据库中不同的数据表数据,程序里没有使用任何数组和向量之类的容器类的东西啊。还有什么可能呢???
ericsome 2002-10-10
  • 打赏
  • 举报
回复
我觉得是本身程序的问题,特别在用到Vector的情况最容易出现内存溢出

1楼的办法好像只是治标不治本,设多大都有到顶的时候,所以解决问题应该在程序本身
haode 2002-10-10
  • 打赏
  • 举报
回复
内存溢出……
miles_shi 2002-10-10
  • 打赏
  • 举报
回复
在运行程序时加参数:
java -Xms<size> -Xmx<size>

-Xms是初始堆栈大小。
-Xmx是最大堆栈大小。
把它们设大点就行了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧